Running a accessibility tool, I got several violations using Date and Time Picker. They are the following:
Violation: Each form control must have associated text.
Inputs like:
<input class="rw-input" type="text" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.2.0" aria-readonly="false" aria-disabled="true" value="" role="combobox" disabled="" placeholder="Start Date" aria-haspopup="true" aria-owns="myID_cal myID_time_listbox" aria-busy="false" aria-expanded="false">
Violation: The WAI-ARIA property identifier is not supported global property on element identifier that does not have a WAI-ARIA role.
Buttons like:
<button class="rw-btn" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.2.3.0.1.$month_2.1.$week_0.$day_0.0" type="button" disabled="" aria-disabled="true" aria-selected="false" tabindex="-1">01</button>
Violation: Elements having an aria-activedescendant property must also contain a tabindex attribute with a value greater than or equal to zero.
Tables like
`
``
Violation: A WAI-ARIA widget must have an accessible name (see message help text for details).
ul like:
<ul id="myID_time_listbox" class=" rw-list" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.3.2.0.0" role="listbox" step="30" max="Thu Dec 31 2099 00:00:00 GMT+0100 (CET)" min="Mon Jan 01 1900 00:00:00 GMT+0100 (WMT)" style="max-height:200px;height:auto;" aria-hidden="true">
Violation: Use the HTML5 attribute or the associated WAI-ARIA attribute (not both) on any one input element.
Elements like:
<input class="rw-input" type="text" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.2.0" aria-readonly="false" aria-disabled="true" value="" role="combobox" disabled="" placeholder="Start Date" aria-haspopup="true" aria-owns="myID_cal myID_time_listbox" aria-busy="false" aria-expanded="false">
<button class="rw-btn" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.2.3.0.1.$month_2.1.$week_0.$day_4.0" type="button" disabled="" aria-disabled="true" aria-selected="false" tabindex="-1">05</button>
Potential violation: Elements that use 'role' must contain required child elements for the role.
Inputs like:
<input class="rw-input" type="text" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.3.0" aria-readonly="false" aria-disabled="true" value="" role="combobox" disabled="" placeholder="End Date" aria-haspopup="true" aria-owns="myID_cal myID_time_listbox" aria-busy="false" aria-expanded="false">
Potential violation: WAI-ARIA widget elements must have a onkeydown or onkeypress event handler in order to be keyboard operable.
Elements like:
<ul id="myID_time_listbox" class=" rw-list" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.2.2.0.0" role="listbox" step="30" max="Thu Dec 31 2099 00:00:00 GMT+0100 (CET)" min="Mon Jan 01 1900 00:00:00 GMT+0100 (WMT)" style="max-height:200px;height:auto;" aria-hidden="true">
<tr data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.3.3.0.1.$month_2.1.$week_1" role="row">
Potential violation: Use header elements where appropriate.
<div id="myID" class="start-end-calendar rw-datetimepicker rw-widget rw-state-disabled rw-has-both" data-reactid=".0.3.3.0.1.1.0.$=13:0.0.1.0.1.0.0.2.1.3" tabindex="-1" aria-label="End Date" aria-required="false">
With the great job you did with accessibility in this library and the keyboard navigation, I think it is worth to check those issues, they don't seem really complicated.
Thank you!