Skip to content
Permalink
Browse files
AX: "AXLandmarkApplication" is an inappropriate subrole for ARIA "app…
…lication" since it's no longer a landmark

https://bugs.webkit.org/show_bug.cgi?id=155403

Reviewed by Chris Fleizach.

The new subrole is AXWebApplication and the new role description is "web application".
As part of the fix, the WebCore AccessibilityRole for ARIA's "application" role was
renamed from LandmarkApplicationRole to WebApplicationRole.

The roles-exposed.html and aria-grouping-roles.html test expectations were also updated.

Source/WebCore:

* English.lproj/Localizable.strings:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibleNameDerivesFromContent):
(WebCore::AccessibilityObject::isLandmark):
(WebCore::initializeRoleMap):
* accessibility/AccessibilityObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
* platform/LocalizedStrings.cpp:
(WebCore::AXARIAContentGroupText):

Source/WebKit/win:

* AccessibleBase.cpp: Update the rolename
(MSAARole):

LayoutTests:

* accessibility/mac/aria-grouping-roles-expected.txt:
* accessibility/mac/aria-grouping-roles.html:
* platform/mac/accessibility/roles-exposed-expected.txt:


Canonical link: https://commits.webkit.org/174526@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@199260 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
joanmarie committed Apr 9, 2016
1 parent e923253 commit a4060e6a47ca6c54b292ee2b54add1eedb1d0cfb
Show file tree
Hide file tree
Showing 15 changed files with 86 additions and 23 deletions.
@@ -1,3 +1,20 @@
2016-04-08 Joanmarie Diggs <jdiggs@igalia.com>

AX: "AXLandmarkApplication" is an inappropriate subrole for ARIA "application" since it's no longer a landmark
https://bugs.webkit.org/show_bug.cgi?id=155403

Reviewed by Chris Fleizach.

The new subrole is AXWebApplication and the new role description is "web application".
As part of the fix, the WebCore AccessibilityRole for ARIA's "application" role was
renamed from LandmarkApplicationRole to WebApplicationRole.

The roles-exposed.html and aria-grouping-roles.html test expectations were also updated.

* accessibility/mac/aria-grouping-roles-expected.txt:
* accessibility/mac/aria-grouping-roles.html:
* platform/mac/accessibility/roles-exposed-expected.txt:

2016-04-08 Zalan Bujtas <zalan@apple.com>

Focus ring drawn at incorrect location on image map with CSS transform.
@@ -21,8 +21,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE


PASS obj.childAtIndex(k).role is 'AXRole: AXGroup'
PASS obj.childAtIndex(k).subrole is "AXSubrole: AXLandmarkApplication"
PASS obj.childAtIndex(k).roleDescription is "AXRoleDescription: application"
PASS obj.childAtIndex(k).subrole is "AXSubrole: AXWebApplication"
PASS obj.childAtIndex(k).roleDescription is "AXRoleDescription: web application"
PASS obj.childAtIndex(k).role is 'AXRole: AXGroup'
PASS obj.childAtIndex(k).subrole is "AXSubrole: AXDocumentArticle"
PASS obj.childAtIndex(k).roleDescription is "AXRoleDescription: article"
@@ -36,12 +36,12 @@
document.getElementById("body").focus();
var obj = accessibilityController.focusedElement;

var subroles = new Array("AXLandmarkApplication","AXDocumentArticle","AXLandmarkBanner","AXLandmarkComplementary",
var subroles = new Array("AXWebApplication","AXDocumentArticle","AXLandmarkBanner","AXLandmarkComplementary",
"AXLandmarkContentInfo", "AXDocument", "AXApplicationLog", "AXLandmarkMain", "AXApplicationMarquee",
"AXDocumentNote", "AXLandmarkNavigation", "AXDocumentRegion", "AXLandmarkSearch", "AXApplicationStatus",
"AXUserInterfaceTooltip", "AXDocumentMath", "AXDefinition");

var roleDescriptions = new Array("application", "article", "banner", "complementary",
var roleDescriptions = new Array("web application", "article", "banner", "complementary",
"content information", "document", "log", "main", "marquee",
"note", "navigation", "region", "search", "application status",
"tooltip", "math", "definition");
@@ -811,8 +811,8 @@ div[role=alertdialog]

div[role=application]
AXRole: AXGroup
AXSubrole: AXLandmarkApplication
AXRoleDescription: application
AXSubrole: AXWebApplication
AXRoleDescription: web application

div[role=article]
AXRole: AXGroup
@@ -1,3 +1,35 @@
2016-04-08 Joanmarie Diggs <jdiggs@igalia.com>

AX: "AXLandmarkApplication" is an inappropriate subrole for ARIA "application" since it's no longer a landmark
https://bugs.webkit.org/show_bug.cgi?id=155403

Reviewed by Chris Fleizach.

The new subrole is AXWebApplication and the new role description is "web application".
As part of the fix, the WebCore AccessibilityRole for ARIA's "application" role was
renamed from LandmarkApplicationRole to WebApplicationRole.

The roles-exposed.html and aria-grouping-roles.html test expectations were also updated.

* English.lproj/Localizable.strings:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibleNameDerivesFromContent):
(WebCore::AccessibilityObject::isLandmark):
(WebCore::initializeRoleMap):
* accessibility/AccessibilityObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
* platform/LocalizedStrings.cpp:
(WebCore::AXARIAContentGroupText):

2016-04-08 Simon Fraser <simon.fraser@apple.com>

[iOS WK2] WKWebViews should consult ancestor UIScrollViews to determine tiling area
@@ -716,7 +716,7 @@
"alert dialog" = "web alert dialog";

/* An ARIA accessibility group that acts as an application. */
"application" = "application";
"web application" = "web application";

/* An ARIA accessibility group that acts as a status update. */
"application status" = "application status";
@@ -317,7 +317,6 @@ bool AccessibilityObject::accessibleNameDerivesFromContent() const
case ImageRole:
case ListRole:
case ListBoxRole:
case LandmarkApplicationRole:
case LandmarkBannerRole:
case LandmarkComplementaryRole:
case LandmarkContentInfoRole:
@@ -340,6 +339,7 @@ bool AccessibilityObject::accessibleNameDerivesFromContent() const
case ToolbarRole:
case TreeGridRole:
case TreeRole:
case WebApplicationRole:
return false;
default:
break;
@@ -396,8 +396,7 @@ bool AccessibilityObject::isLandmark() const
{
AccessibilityRole role = roleValue();

return role == LandmarkApplicationRole
|| role == LandmarkBannerRole
return role == LandmarkBannerRole
|| role == LandmarkComplementaryRole
|| role == LandmarkContentInfoRole
|| role == LandmarkMainRole
@@ -2028,7 +2027,7 @@ static void initializeRoleMap()
const RoleEntry roles[] = {
{ "alert", ApplicationAlertRole },
{ "alertdialog", ApplicationAlertDialogRole },
{ "application", LandmarkApplicationRole },
{ "application", WebApplicationRole },
{ "article", DocumentArticleRole },
{ "banner", LandmarkBannerRole },
{ "button", ButtonRole },
@@ -146,7 +146,6 @@ enum AccessibilityRole {
ImageMapLinkRole,
IncrementorRole,
LabelRole,
LandmarkApplicationRole,
LandmarkBannerRole,
LandmarkComplementaryRole,
LandmarkContentInfoRole,
@@ -223,6 +222,7 @@ enum AccessibilityRole {
UserInterfaceTooltipRole,
ValueIndicatorRole,
VideoRole,
WebApplicationRole,
WebAreaRole,
WebCoreLinkRole,
WindowRole,
@@ -660,7 +660,7 @@ static AtkRole atkRole(AccessibilityObject* coreObject)
return ATK_ROLE_TOOL_TIP;
case WebAreaRole:
return ATK_ROLE_DOCUMENT_WEB;
case LandmarkApplicationRole:
case WebApplicationRole:
return ATK_ROLE_EMBEDDED;
#if ATK_CHECK_VERSION(2, 11, 3)
case ApplicationLogRole:
@@ -504,7 +504,6 @@ - (BOOL)_accessibilityIsLandmarkRole:(AccessibilityRole)role
case DocumentNoteRole:
case DocumentRegionRole:
case FooterRole:
case LandmarkApplicationRole:
case LandmarkBannerRole:
case LandmarkComplementaryRole:
case LandmarkContentInfoRole:
@@ -822,7 +821,6 @@ - (BOOL)determineIsAccessibilityElement
case IgnoredRole:
case InlineRole:
case LabelRole:
case LandmarkApplicationRole:
case LandmarkBannerRole:
case LandmarkComplementaryRole:
case LandmarkContentInfoRole:
@@ -877,6 +875,7 @@ - (BOOL)determineIsAccessibilityElement
case UnknownRole:
case UserInterfaceTooltipRole:
case VideoRole:
case WebApplicationRole:
case WebAreaRole:
case WindowRole:
case RowGroupRole:
@@ -322,8 +322,6 @@ - (CGPoint)convertPointToScreenSpace:(FloatPoint &)point
- (NSString *)ariaLandmarkRoleDescription
{
switch (m_object->roleValue()) {
case LandmarkApplicationRole:
return AXARIAContentGroupText(@"ARIALandmarkApplication");
case LandmarkBannerRole:
return AXARIAContentGroupText(@"ARIALandmarkBanner");
case LandmarkComplementaryRole:
@@ -364,6 +362,8 @@ - (NSString *)ariaLandmarkRoleDescription
return AXARIAContentGroupText(@"ARIAUserInterfaceTooltip");
case TabPanelRole:
return AXARIAContentGroupText(@"ARIATabPanel");
case WebApplicationRole:
return AXARIAContentGroupText(@"ARIAWebApplication");
default:
return nil;
}
@@ -2153,7 +2153,7 @@ - (NSValue *)position
{ DescriptionListTermRole, NSAccessibilityGroupRole },
{ DescriptionListRole, NSAccessibilityListRole },
{ SliderThumbRole, NSAccessibilityValueIndicatorRole },
{ LandmarkApplicationRole, NSAccessibilityGroupRole },
{ WebApplicationRole, NSAccessibilityGroupRole },
{ LandmarkBannerRole, NSAccessibilityGroupRole },
{ LandmarkComplementaryRole, NSAccessibilityGroupRole },
{ LandmarkContentInfoRole, NSAccessibilityGroupRole },
@@ -2288,8 +2288,6 @@ - (NSString*)subrole

// ARIA content subroles.
switch (role) {
case LandmarkApplicationRole:
return @"AXLandmarkApplication";
case LandmarkBannerRole:
return @"AXLandmarkBanner";
case LandmarkComplementaryRole:
@@ -2338,6 +2336,8 @@ - (NSString*)subrole
return @"AXTerm";
case DescriptionListDetailRole:
return @"AXDescription";
case WebApplicationRole:
return @"AXWebApplication";
// Default doesn't return anything, so roles defined below can be chosen.
default:
break;
@@ -712,8 +712,8 @@ String AXARIAContentGroupText(const String& ariaType)
return WEB_UI_STRING("note", "An ARIA accessibility group that acts as a note in a document.");
if (ariaType == "ARIADocumentRegion")
return WEB_UI_STRING("region", "An ARIA accessibility group that acts as a distinct region in a document.");
if (ariaType == "ARIALandmarkApplication")
return WEB_UI_STRING("application", "An ARIA accessibility group that acts as an application.");
if (ariaType == "ARIAWebApplication")
return WEB_UI_STRING("web application", "An ARIA accessibility group that acts as an application.");
if (ariaType == "ARIALandmarkBanner")
return WEB_UI_STRING("banner", "An ARIA accessibility group that acts as a banner.");
if (ariaType == "ARIALandmarkComplementary")
@@ -974,7 +974,7 @@ static long MSAARole(AccessibilityRole role)
return ROLE_SYSTEM_EQUATION;
case WebCore::HelpTagRole:
return ROLE_SYSTEM_HELPBALLOON;
case WebCore::LandmarkApplicationRole:
case WebCore::WebApplicationRole:
case WebCore::LandmarkBannerRole:
case WebCore::LandmarkComplementaryRole:
case WebCore::LandmarkContentInfoRole:
@@ -1,3 +1,19 @@
2016-04-08 Joanmarie Diggs <jdiggs@igalia.com>

AX: "AXLandmarkApplication" is an inappropriate subrole for ARIA "application" since it's no longer a landmark
https://bugs.webkit.org/show_bug.cgi?id=155403

Reviewed by Chris Fleizach.

The new subrole is AXWebApplication and the new role description is "web application".
As part of the fix, the WebCore AccessibilityRole for ARIA's "application" role was
renamed from LandmarkApplicationRole to WebApplicationRole.

The roles-exposed.html and aria-grouping-roles.html test expectations were also updated.

* AccessibleBase.cpp: Update the rolename
(MSAARole):

2016-04-07 Brian Burg <bburg@apple.com>

CookieJar should support adding synthetic cookies for developer tools

0 comments on commit a4060e6

Please sign in to comment.