Opened 8 years ago

Closed 7 years ago

#15052 closed defect (fixed)

aria-valuenow is not a valid aria attribute for DateTextBox and TimeTextBox

Reported by: jwforres Owned by: Douglas Hays
Priority: undecided Milestone: 1.8.2
Component: Accessibility Version: 1.4.3
Keywords: Cc: Becky Gibson, Douglas Hays
Blocked By: Blocking:

Description

According to the ARIA spec www.w3.org/TR/wai-aria/roles the aria-valuenow attribute only applies to HTML elements with a role that inherits from the "range" role, e.g. spinnerbox, slider, etc. The <input> element inside DateTextBox? and TimeTextBox? does not have any role in Dojo 1.4.3 and in 1.7 it has role of textbox. aria-valuenow is not considered a valid attribute on an element with role textbox.

Attachments (1)

aria range attributes on Time and Date textboxes.patch (7.7 KB) - added by mikeb 7 years ago.
removes aria range attributes for Date/TimeTextBoxes?, adds them back for _Spinner, fixes up test pages, please proxy commit for michael billau ccla on file with ibm

Download all attachments as: .zip

Change History (13)

comment:1 Changed 7 years ago by bill

Owner: changed from Becky Gibson to Douglas Hays
Status: newassigned

comment:2 Changed 7 years ago by Douglas Hays

Cc: Becky Gibson added

Becky, I need help with this. DateTextBox? is a range textbox but it's role is neither of the approved role=range subclasses: progressbar,scrollbar,slider,spinbutton.

comment:3 Changed 7 years ago by davidtodd

Same issue for NumberTextBox?, but also contains aria-valuemin and aria-valuemax. Maybe aria-valuetext as well.

Last edited 7 years ago by davidtodd (previous) (diff)

comment:4 Changed 7 years ago by mikeb

A similar issue is applying 'aria-pressed' to a selected tab in a TabContainer?, since aria-pressed is not valid for role=tab (http://www.w3.org/TR/wai-aria/roles). I'm sure there are more instances of dijits including extra aria attributes. In general these attributes are getting flagged by automated tools as errors but they do not seem to cause any useability problems (it seems that at least Jaws screen reader ignores invalid attributes.)

comment:5 Changed 7 years ago by bill

The TabContainer issue was fixed 7 months ago in [26369].

comment:6 Changed 7 years ago by Douglas Hays

Owner: changed from Douglas Hays to mikeb

comment:7 Changed 7 years ago by Paul Christopher

The question is how a screenreader user gets to know the constraints of a DateTextBox and a TimeTextBox. aria-valuemin and aria-valuemax could help if those are announced by the screenreader when the control is focused. However arai-valuemin, aria-valuemax and arai-valuenow need to have a good readable description of their value, see http://bugs.dojotoolkit.org/ticket/15625.

Can anyone test this with a screenreader? Are those values announced? If so, I would not remove those attributes from RangeBoundText.js (although they are not considered as correct according to the specs).

comment:8 Changed 7 years ago by mikeb

None of the aria-value* attributes are announced by JAWS13 on the nightly build (tested DateTextBox? and TimeTextBox?.) JAWS just seems to read out whatever is in the value attribute of the input element, probably because the input has role=textbox. There does not seem to be any way to figure out the "max" and "min" allowed elements.

I think for now we should just remove these invalid elements. However, the main issue in my opinion is that these elements are in fact "range" widgets and the ARIA spec is incomplete since the only range widgets are progressbar, scrollbar, slider, and spinbutton.

Changed 7 years ago by mikeb

removes aria range attributes for Date/TimeTextBoxes?, adds them back for _Spinner, fixes up test pages, please proxy commit for michael billau ccla on file with ibm

comment:9 Changed 7 years ago by mikeb

Cc: Douglas Hays added

comment:10 Changed 7 years ago by Douglas Hays

Milestone: tbd1.8.2

comment:11 Changed 7 years ago by Douglas Hays

Owner: changed from mikeb to Douglas Hays

comment:12 Changed 7 years ago by Douglas Hays

Resolution: fixed
Status: assignedclosed

In [29819]:

Fixes #15052. Proxy commit for Mike Billau (IBM, CCLA). Move aria-valuemin/max/now from RangeBoundTextBox? to _Spinner since they're not valid for role=textbox.

Note: See TracTickets for help on using tickets.