Bug 1501353 - Change the exposed accessible role for a named region from region to landmark, r=Jamie
☠☠ backed out by c29f681979ee ☠ ☠
authorMarco Zehe <mzehe@mozilla.com>
Wed, 24 Oct 2018 00:34:21 +0000
changeset 491054 02d8210b89048b964a604d60b25b94d95b579cfb
parent 491053 c3e9b06cc27d0555af93b5c8feba00614f904052
child 491055 be829221e462a24668b46f6d11b00402b9c01cf4
push id247
push userfmarier@mozilla.com
push dateSat, 27 Oct 2018 01:06:44 +0000
reviewersJamie
bugs1501353
milestone65.0a1
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
accessible/generic/Accessible.cpp
accessible/tests/mochitest/role/test_aria.html
--- 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);