Bug 1501353 - Change the exposed accessible role for a named region from region to landmark, r=Jamie
Differential Revision:
https://phabricator.services.mozilla.com/D9554
--- a/accessible/generic/Accessible.cpp
+++ b/accessible/generic/Accessible.cpp
@@ -1489,17 +1489,17 @@ Accessible::ARIATransformRole(role aRole
// case, it should not be especially bad here: If the author hasn't used the
// region role, this calculation won't occur. And the region role's name
// calculation rule excludes name from content. That said, this use case is
// another example of why we should consider caching the accessible name. See:
// https://bugzilla.mozilla.org/show_bug.cgi?id=1378235.
if (aRole == roles::REGION) {
nsAutoString name;
Name(name);
- return name.IsEmpty() ? NativeRole() : aRole;
+ return name.IsEmpty() ? NativeRole() : roles::LANDMARK;
}
// XXX: these unfortunate exceptions don't fit into the ARIA table. This is
// where the accessible role depends on both the role and ARIA state.
if (aRole == roles::PUSHBUTTON) {
if (nsAccUtils::HasDefinedARIAToken(mContent, nsGkAtoms::aria_pressed)) {
// For simplicity, any existing pressed attribute except "" or "undefined"
// indicates a toggle.
--- a/accessible/tests/mochitest/role/test_aria.html
+++ b/accessible/tests/mochitest/role/test_aria.html
@@ -52,19 +52,19 @@
testRole("aria_menuitemradio", ROLE_RADIO_MENU_ITEM);
testRole("aria_note", ROLE_NOTE);
testRole("aria_paragraph", ROLE_PARAGRAPH);
testRole("aria_presentation", ROLE_TEXT); // weak role
testRole("aria_progressbar", ROLE_PROGRESSBAR);
testRole("aria_radio", ROLE_RADIOBUTTON);
testRole("aria_radiogroup", ROLE_RADIO_GROUP);
testRole("aria_region_no_name", ROLE_TEXT);
- testRole("aria_region_has_label", ROLE_REGION);
- testRole("aria_region_has_labelledby", ROLE_REGION);
- testRole("aria_region_has_title", ROLE_REGION);
+ testRole("aria_region_has_label", ROLE_LANDMARK);
+ testRole("aria_region_has_labelledby", ROLE_LANDMARK);
+ testRole("aria_region_has_title", ROLE_LANDMARK);
testRole("aria_region_empty_name", ROLE_TEXT);
testRole("aria_row", ROLE_ROW);
testRole("aria_rowheader", ROLE_ROWHEADER);
testRole("aria_scrollbar", ROLE_SCROLLBAR);
testRole("aria_searchbox", ROLE_ENTRY);
testRole("aria_separator", ROLE_SEPARATOR);
testRole("aria_slider", ROLE_SLIDER);
testRole("aria_spinbutton", ROLE_SPINBUTTON);