TimePicker

TimePickers enable users to select time values from a predefined set or type them into an input field for precise scheduling.

Accessibility Support

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

The TimePicker 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.

TimePicker Wrapping Element

SelectorAttributeUsage
.k-input-innerrole=comboboxThe input element should follow the combobox specification.
label for or aria-label or aria-labelledbyThe input needs an accessible name to be assigned to it.
aria-expanded=true/falseAnnounces whether the Popup is visible or not.
aria-haspopup=dialogIndicates the component has a Dialog Popup.
aria-controls=.k-animation-container idPoints to the popup element. Signifies that the combobox element controls the dialog popup.
readonly or aria-readonlyAttribute is rendered only when the DatePicker is readonly.
.k-invalid .k-input-inner,.ng-invalid .k-input-inneraria-invalid=trueAttribute is rendered only when the picker is in form and announces the valid state of the component.
.k-disabled .k-input-innerdisabled=disabled or aria-disabled=trueAttribute is rendered only when the DatePicker is disabled.
.k-input-buttonrole=button or nodeName=buttonThe element must either be a <button> element or must have role=button assigned.
aria-labelThe button needs an accessible name to be assigned to it.
tabindex=-1Button element must not be focusable.

List Elements on the Popup

SelectorAttributeUsage
.k-time-listrole=listboxThe timelist elements must have listbox role assigned.
aria-label or aria-labelledbyThe listbox needs an accessible name to be assigned to it.
.k-resetrole=none/presentationThe k-rest <ul> element semantic meaning must be removed from the accessibility tree.
.k-itemrole=optionThe available options in the listbox must be marked as such.
aria-selected=true/falseSelected option must have its aria-selected attribute set to true.

Managing the Focus

Initial focus is on the selected time.

The time dropdown tab sequence is: hours part, minutes part, seconds part, Cancel button, Set button, Now button (activated on Enter). The tab key is trapped in the popup.

Enhanced Mouse UX - when mouse is over a timelist - it gets the focus.

Keyboard Shortcuts

Actions applied to the input:

ShortcutBehavior
EscCloses the popup
Alt/Opt(Mac) + DownOpens the popup
Alt/Opt(Mac) + UpCloses the popup
UpIncreases the value of the time segment that is highlighted.
DownDecreases the value of the time segment that is highlighted.
LeftMoves to previous time segment in the input.
RightMoves to next time segment in the input.
BackspaceDeletes value of the time segment.

Actions applied to the popup

ShortcutBehavior
EscCloses the popup
Shift + Tab or LeftFocuses previous carousel.
Tab or RightFocuses next carousel.
DownSelects next value in the carousel.
UpSelects previous value in the carousel.

Testing

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

Screen Readers

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

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS

Resources

Feedback