gecko-dev/testing/web-platform/tests/core-aam
..
alert-manual.html
alertdialog-manual.html
application-manual.html
aria-atomic_false-manual.html
aria-atomic_true-manual.html
aria-autocomplete_both-manual.html
aria-autocomplete_inline-manual.html
aria-autocomplete_list-manual.html
aria-busy_false-manual.html
aria-busy_true-manual.html
aria-busy_value_changes-manual.html
aria-checked_false_on_checkbox-manual.html
aria-checked_false_on_menuitemradio-manual.html
aria-checked_mixed-manual.html
aria-checked_true_on_checkbox-manual.html
aria-checked_true_on_menuitemradio-manual.html
aria-checked_value_changes-manual.html
aria-colcount_new-manual.html
aria-colindex_new-manual.html
aria-colspan_new-manual.html
aria-controls-manual.html
aria-current_value_changes-manual.html
aria-current_with_non-false_allowed_value_new-manual.html
aria-current_with_unrecognized_value_new-manual.html
aria-describedby-manual.html
aria-details_new-manual.html
aria-disabled_false-manual.html
aria-disabled_true-manual.html
aria-disabled_value_changes-manual.html
aria-dropeffect_copy-manual.html
aria-dropeffect_execute-manual.html
aria-dropeffect_link-manual.html
aria-dropeffect_move-manual.html
aria-dropeffect_none-manual.html
aria-dropeffect_popup-manual.html
aria-dropeffect_value_changes-manual.html
aria-errormessage-manual.html
aria-expanded_false-manual.html
aria-expanded_true_on_application-manual.html
aria-expanded_true_on_checkbox-manual.html
aria-expanded_true_on_switch-manual.html
aria-expanded_true-manual.html
aria-expanded_value_changes-manual.html
aria-flowto-manual.html
aria-grabbed_false-manual.html
aria-grabbed_true-manual.html
aria-grabbed_value_changes-manual.html
aria-haspopup_dialog_new-manual.html
aria-haspopup_false-manual.html
aria-haspopup_listbox_new-manual.html
aria-haspopup_menu_new-manual.html
aria-haspopup_tree_new-manual.html
aria-haspopup_true-manual.html
aria-hidden_true_when_element_is_focused_or_fires_event_new-manual.html
aria-hidden_true-manual.html
aria-hidden_value_changes-manual.html
aria-invalid_false-manual.html
aria-invalid_grammar-manual.html
aria-invalid_spelling-manual.html
aria-invalid_true-manual.html
aria-invalid_value_changes-manual.html
aria-invalid_with_unrecognized_value_new-manual.html
aria-keyshortcuts_new-manual.html
aria-label-manual.html
aria-labelledby-manual.html
aria-level_on_heading-manual.html
aria-level_on_non-heading-manual.html
aria-live_assertive-manual.html
aria-live_off-manual.html
aria-live_polite-manual.html
aria-modal_false_new-manual.html
aria-modal_true_new-manual.html
aria-multiline_false-manual.html
aria-multiline_true-manual.html
aria-multiselectable_false-manual.html
aria-multiselectable_true-manual.html
aria-orientation_horizontal-manual.html
aria-orientation_undefined_new-manual.html
aria-orientation_vertical-manual.html
aria-owns_may_need_manual_verification-manual.html
aria-placeholder_new-manual.html
aria-posinset_and_aria-setsize_on_row-manual.html
aria-posinset-manual.html
aria-pressed_false-manual.html
aria-pressed_mixed-manual.html
aria-pressed_true-manual.html
aria-pressed_value_changes-manual.html
aria-readonly_false-manual.html
aria-readonly_is_unspecified_on_gridcell_new-manual.html
aria-readonly_true_on_checkbox-manual.html
aria-readonly_true_on_radiogroup-manual.html
aria-readonly_true_on_textbox-manual.html
aria-readonly_value_changes-manual.html
aria-relevant-manual.html
aria-required_true_on_checkbox-manual.html
aria-required_true-manual.html
aria-required_value_changes-manual.html
aria-roledescription_is_empty_or_whitespace_characters_new-manual.html
aria-roledescription_new-manual.html
aria-rowcount_new-manual.html
aria-rowindex_new-manual.html
aria-rowspan_new-manual.html
aria-selected_false-manual.html
aria-selected_true-manual.html
aria-setsize_3-manual.html
aria-setsize_-1_new-manual.html
aria-sort_ascending-manual.html
aria-sort_descending-manual.html
aria-sort_none-manual.html
aria-sort_other-manual.html
aria-valuemax-manual.html
aria-valuemin-manual.html
aria-valuenow_value_changes-manual.html
aria-valuenow-manual.html
aria-valuetext_value_changes-manual.html
aria-valuetext-manual.html
article-manual.html
banner-manual.html
blockquote-manual.html
button_with_aria-haspopup_dialog_new-manual.html
button_with_aria-haspopup_true-manual.html
button_with_default_values_for_aria-pressed_and_aria-haspopup-manual.html
button_with_defined_value_for_aria-pressed-manual.html
caption-manual.html
cell_new-manual.html
checkbox-manual.html
columnheader-manual.html
combobox-manual.html
complementary-manual.html
contentinfo-manual.html
definition-manual.html
deletion-manual.html
dialog-manual.html
directory-manual.html
document-manual.html
exclude_element_hidden_with_css_display_none-manual.html
exclude_element_hidden_with_css_visibility_hidden-manual.html
exclude_element_hidden_with_html5_hidden-manual.html
exclude_presentational_children_of_button-manual.html
exclude_presentational_children_of_checkbox_new-manual.html
exclude_presentational_children_of_img-manual.html
exclude_presentational_children_of_math-manual.html
exclude_presentational_children_of_menuitemcheckbox_new-manual.html
exclude_presentational_children_of_menuitemradio_new-manual.html
exclude_presentational_children_of_option_new-manual.html
exclude_presentational_children_of_progressbar-manual.html
exclude_presentational_children_of_radio_new-manual.html
exclude_presentational_children_of_scrollbar-manual.html
exclude_presentational_children_of_separator-manual.html
exclude_presentational_children_of_slider-manual.html
exclude_presentational_children_of_switch_new-manual.html
exclude_presentational_children_of_tab_new-manual.html
feed_new-manual.html
figure_new-manual.html
form-manual.html
grid-manual.html
gridcell-manual.html
group_as_child_of_listbox-manual.html
group-manual.html
heading-manual.html
img-manual.html
include_element_referenced_by_global_aria-controls-manual.html
include_element_referenced_by_global_aria-describedby-manual.html
include_element_referenced_by_global_aria-details_new-manual.html
include_element_referenced_by_global_aria-errormessage_new-manual.html
include_element_referenced_by_global_aria-flowto-manual.html
include_element_referenced_by_global_aria-labelledby-manual.html
include_element_referenced_by_global_aria-owns-manual.html
include_element_that_is_focusable-manual.html
include_element_with_id_inside_element_with_aria-activedescendant-manual.html
insertion-manual.html
link-manual.html
list-manual.html
listbox_not_owned_by_or_child_of_combobox-manual.html
listbox_owned_by_or_child_of_combobox-manual.html
listitem-manual.html
log-manual.html
main-manual.html
marquee-manual.html
math_role_children_are_not_presentational-manual.html
math-manual.html
menu_child_of_menu_item-manual.html
menu-manual.html
menubar-manual.html
menuitem_not_owned_by_or_child_of_group-manual.html
menuitem_owned_by_or_child_of_group-manual.html
menuitemcheckbox_child_of_group-manual.html
menuitemcheckbox-manual.html
menuitemradio-manual.html
META.yml
meter-manual.html
navigation-manual.html
none_new-manual.html
none_used_on_element_that_is_focused_or_fires_event-manual.html
none_used_on_table_element_with_td_children_new-manual.html
none_used_on_ul_element_with_li_children_new-manual.html
note-manual.html
option_inside_combobox-manual.html
option_not_inside_combobox-manual.html
paragraph-manual.html
presentation_used_on_element_that_is_focused_or_fires_event-manual.html
presentation_used_on_table_element_with_td_children_new-manual.html
presentation_used_on_ul_element_with_li_children_new-manual.html
presentation-manual.html
progressbar-manual.html
radio-manual.html
radiogroup-manual.html
README.md
region_with_an_accessible_name_new-manual.html
region_without_an_accessible_name_new-manual.html
row_inside_treegrid-manual.html
row_not_inside_treegrid-manual.html
rowgroup-manual.html
rowheader-manual.html
scrollbar-manual.html
search-manual.html
searchbox_new-manual.html
separator_focusable_new-manual.html
separator_non-focusable-manual.html
slider-manual.html
spinbutton-manual.html
status-manual.html
subscript-manual.html
superscript-manual.html
switch_new-manual.html
tab-manual.html
table_new-manual.html
tablist-manual.html
tabpanel-manual.html
term_new-manual.html
textbox_when_aria-multiline_is_false-manual.html
textbox_when_aria-multiline_is_true-manual.html
time-manual.html
timer-manual.html
toolbar-manual.html
tooltip-manual.html
tree-manual.html
treegrid-manual.html
treeitem-manual.html

core-aam: Tests for the Core Accessibility API Mappings Recommendation

The Core Accessibility API Mappings Recommendation describes how user agents should expose semantics of web content languages to accessibility APIs. This helps users with disabilities to obtain and interact with information using assistive technologies. Documenting these mappings promotes interoperable exposure of roles, states, properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent.

The purpose of these tests is to help ensure that user agents support the requirements of the Recommendation.

The general approach for this testing is to enable both manual and automated testing, with a preference for automation.

Running Tests

In order to run these tests in an automated fashion, you will need to have a special Assistive Technology Test Adapter (ATTA) for the platform under test. We will provide a list of these for popular platforms here as they are made available.

The ATTA will monitor the window under test via the platforms Accessibility Layer, forwarding information about the Accessibility Tree to the running test so that it can evaluate support for the various features under test.

The workflow for running these tests is something like:

  1. Start up the ATTA for the platform under test.
  2. Start up the test driver window, select the core-aam tests to be run, and click "Start"
  3. A window pops up that shows a test, the description of which tells the tester what is being tested. In an automated test, the test will proceed without user intervention. In a manual test, some user input or verification may be required.
  4. The test runs. Success or failure is determined and reported to the test driver window, which then cycles to the next test in the sequence.
  5. Repeat steps 2-4 until done.
  6. Download the JSON format report of test results, which can then be visually inspected, reported on using various tools, or passed on to W3C for evaluation and collection in the Implementation Report via github.

Remember that while these tests are written to help exercise implementations, their other (important) purpose is to increase confidence that there are interoperable implementations. So, implementers are the audience, but these tests are not meant to be a comprehensive collection of tests for a client that might implement the Recommendation.

Capturing and Reporting Results

As tests are run against implementations, if the results of testing are submitted to test-results then they will be automatically included in documents generated by wptreport. The same tool can be used locally to view reports about recorded results.