Filter

Filters enable users to efficiently manage complex data sets by providing an intuitive interface for defining filter expressions.

Accessibility Support

Out of the box, the Telerik and Kendo UI Filter provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.

The Filter is compliant with the Web Content Accessibility Guidelines (WCAG) 2.2 standards and Section 508 requirements, follows the Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA) best practices for implementing the keyboard navigation for its component role, provides options for managing its focus and is tested against the most popular screen readers.

WAI-ARIA

This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any.

The Filter component represents visually the structure of a filter object. As the filter object can contain nested objects, that hierarchical structure must be represented in the accessibility tree by the role=tree assigned to the component.

SelectorAttributeUsage
.k-filter-containerrole=treeDescribes the hierarchical structure of the Filter component.
aria-labelSpecifies a label for the Filter component.
.k-filter-group-main,.k-filter-itemrole=treeitemEach FilterGroup and FilterExpression represent a separate treeitem in the Filter component structure.
.k-filter-linesrole=groupRepresents a group if items in the Filter component.
.k-toolbarrole=toolbarThe role represents a collection of tools.
aria-labelSpecifies a label for the toolbar.

Each toolbar in the Filter should follow the specification for a ToolBar component. The elements inside the FilterGroup follow the ARIA specification applicable to their specific roles.

Managing the Focus

The Filter is a single tab stop component implementing the roving tab index pattern.

The Filter UI represents the filter query object, which can be built using the component. As that object can contain inner objects, the result is a hierarchical structure, which is also reflected visually in the UI. In order to represent the same structure in the accessibility tree, the role=tree must be assigned to the entire component. The entire Filter is a single tab stop component. Navigation among items is available using Up Arrow and Down Arrow. Internal ToolBar navigation can be activated upon pressing Enter on a treeitem. Navigation returns back to the tree when pressing Esc.

Keyboard Shortcuts

ShortcutBehavior
Up ArrowFocuses the previous item (FilterGroup or FilterExpression) in the tree.
Down ArrowFocuses the next item (FilterGroup or FilterExpression) in the tree.

The FilterGroup or FilterExpression elements implement the KB navigation specification for the ToolBar component:

Upon deleting a FilterGroup/FilterExpression (pressing the X button), focus should be moved to the very next treeitem (FilterGroup/FilterExpression) in the Filter component. If there is no treeitem (FilterGroup/FilterExpression) after the deleted one, focus should be moved to the previous treeitem (FilterGroup/FilterExpression).

Testing

The Filter has been extensively tested automatically with axe-core and manually with the most popular screen readers.

Screen Readers

The Filter has been tested with the following screen readers and browsers combinations:

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS

Resources