ARIA 1.1 Test Case Coverage
ARIA 1.1 Testing Wiki Pages
Notes
The text alternative calculation is now a separate spec. Joanie has not done any diffs with it. "Patches welcome." :)
Features introduced in 1.1 and requiring full testing
States and properties
- aria-current placeholder at aria-current] but still need tests
- aria-colcount covered at aria-colcount and aria-colcount_in_ARIA_grid
- aria-colindex covered at aria-colindex_applied_to_a_cell_role and #aria-colindex_applied_to_a_gridcell_role
- aria-colspan placeholder at aria-colspan but still need tests
- aria-details covered at aria-details
- aria-errormessage covered at aria-errormessage
- aria-keyshortcuts covered at aria-keyshortcuts
- aria-modal- covered at aria-modal.3D.22true.22_on_a_dialog, aria-modal.3D.22false.22_on_a_dialog, aria-modal.3D.22true.22_on_an_alertdialog, aria-modal.3D.22false.22_on_an_alertdialog
- aria-placeholder covered at aria-placeholder
- aria-roledescription covered at input_type.3D.22button.22_with_aria-roledescription.3D.22SassyButton.22, role_button_with_aria-roledescription_empty, role_button_and_aria-roledescription_spaces
- aria-rowcount placeholder at aria-rowcount, still need tests, used in tests at grid and table but AAPI exposure not tested there
- aria-rowindex placeholder at aria-rowindex but still need tests
- aria-rowspan placeholder at aria-rowspan but still need tests
Roles
- cell covered at cell
- feed covered at feed
- figure covered at figure
- none covered at none_on_img
- searchbox covered at searchbox and searchbox-multiline
- switch covered at switch though may need a test for when aria-checked=true
- table covered at table, maybe we need a full set of tests like the grid tests or maybe this is enough to verify it's recognized
- term placeholder at term
Existing features changed in 1.1
Properties with changed types and/or default values
- aria-haspopup's type is now token. - placeholder at aria-haspopup.
- aria-hidden's type is now true/false/undefined - not covered
- aria-level's implicit value for heading is now 2 - covered at aria-level
- Changes to value of aria-orientation:
- aria-orientation's default value changed from horizontal to undefined - covered at No_aria-orientation_applied_to_a_tablist, No_aria-orientation_applied_to_a_toolbar,
- scrollbar now has implicit value of vertical - covered at No_aria-orientation_applied_to_a_scrollbar
- slider now has implicit value of horizontal - covered at No_aria-orientation_applied_to_a_slider
- separator now has implicit value of horizontal - covered at No_aria-orientation_applied_to_a_separator but these tests appear to be in error; explicit values tested (though not required for 1.1?) at aria-orientation_.3D_.22vertical.22_on_a_toolbar, aria-orientation.3D.22horizontal.22_applied_to_a_toolbar, aria-orientation_.3D_.22vertical.22_on_a_tablist, aria-orientation.3D.22horizontal.22_applied_to_a_toolbar_2 (last one was probably meant to be tablist)
- aria-valuemin now has a default implicit value on some roles (when author does not specify aria-valuemin):
- scrollbar is 0 - covered at default_values:_role.3D.22scrollbar.22
- separator is 0 - placeholder at separator
- slider is 0 - covered at default_values:_role.3D.22slider.22
- spinbutton is "that there is no minimum value" - covered at default_values:_role.3D.22spinbutton.22 but unsure if the test matches the spec
- aria-valuemax now has a default implicit value on some roles (when author does not specify aria-valuemax): - coverage same as for aria-valuemin
- scrollbar is 100 - covered at default_values:_role.3D.22scrollbar.22
- separator is 100 - placeholder at separator
- slider is 100 - covered at default_values:_role.3D.22slider.22
- spinbutton is "that there is no maximum value" - covered at default_values:_role.3D.22spinbutton.22 but unsure if the test matches the spec
- aria-valuenow now has a default implicit value on some roles (when author does not specify aria-valuenow):
- scrollbar is half way between aria-valuemin and aria-valuemax covered at default_values:_role.3D.22scrollbar.22 though I would like the test to be clearer about using this calc
- separator is 50 - placeholder at separator
- slider is half way between aria-valuemin and aria-valuemax covered at default_values:_role.3D.22slider.22 but same comment on calc clarity
- spinbutton is 0 - covered at default_values:_role.3D.22spinbutton.22 but test is in error (copy/paste) which is why I want more call-out of the calc used on the slider and separator
Properties added to or removed from roles
- aria-activedescendant added to application covered at application
- aria-busy is (more clearly) applicable to all elements. Note that this technically was the case for 1.0. But the text in 1.0 implies busy was intended for live regions. - covered at aria-busy.3D.22true.22_on_a_listbox, aria-busy.3D.22false.22_on_a_listbox, aria-busy.3D.22true.22_on_a_grid, aria-busy.3D.22false.22_on_a_grid, aria-busy.3D.22true.22_on_a_menubar, aria-busy.3D.22false.22_on_a_menubar
- aria-controls went from supported to required on combobox - not covered
- aria-expanded removed from separator placeholder at separator
- aria-orientation added to: - not covered
- combobox negative test at combobox_no_defined_orientation but no positive test
- listbox, implicit value: vertical
- menu, implicit value: vertical
- menubar, implicit value: horizontal
- radiogroup
- tablist, implicit value: horizontal
- toolbar, implicit value: horizontal
- tree, implicit value: vertical
- treegrid, implicit value: undefined
- aria-selected:
- aria-posinset and aria-setsize added to:
- article (when article is in feed) - meant to be covered at article but test does not include the "in feed" component
- menuitem - covered at menuitem
- menuitemcheckbox covered at menuitemcheckbox
- menuitemradio not covered at menuitemradio
- tab covered at tab
- aria-readonly added to:
- checkbox placeholder at aria-readonly
- combobox placeholder at aria-readonly
- listbox placeholder at aria-readonly
- menuitemcheckbox placeholder at aria-readonly
- menuitemradio placeholder at aria-readonly
- radiogroup placeholder at aria-readonly
- slider placeholder at aria-readonly
- spinbutton placeholder at aria-readonly
- aria-valuetext added as a supported property of focusable separator elements - placeholder at separator
- aria-valuemin, aria-valuemax, aria-valuenow added as required properties of focusable separator elements - partial placeholder at separator
- children-presentational added to:
- checkbox placeholder at child-presentational_true
- menuitemcheckbox placeholder at child-presentational_true
- menuitemradio placeholder at child-presentational_true
- option placeholder at child-presentational_true
- radio placeholder at child-presentational_true
- tab placeholder at child-presentational_true
Miscellaneous Role Changes
- application is no longer a landmark
- region is now a landmark
- spinbutton subclasses composite and can have children
New or changed user agent normative statements
- Applying the aria-selected state on a columnheader MUST not cause the user agent to automatically propagate the aria-selected state to all the cells in the corresponding column.
- User agents SHOULD not expose (aria-readonly or aria-required) to assistive technologies unless the columnheader descends from a grid.
- NOTE: The previous requirement is also stated for role rowheader.
- If aria-readonly is set on an element with role grid, user agents MUST propagate the value to all gridcell elements owned by the grid and expose the value in the accessibility API. An author may override the propagated value of aria-readonly for an individual gridcell element.
- The previous requirement is also stated for role treegrid.
- The ARIA 1.0. specification describes a combobox pattern where a text input element has the combobox role and owns a listbox element. User agents, assistive technologies, and conformance checkers SHOULD continue to support the ARIA 1.0 pattern.
- User agents MUST treat any value of aria-haspopup that is not included in the list of allowed values, including an empty string, as if the value false had been provided.
- To provide backward compatibility with ARIA 1.0 content, user agents MUST treat an aria-haspopup value of true as equivalent to a value of menu.