diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index e949e2d95b63..3538ab9131f0 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,12 @@ +2017-10-10 Joanmarie Diggs + + AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM + https://bugs.webkit.org/show_bug.cgi?id=178137 + + Reviewed by Chris Fleizach. + + * platform/gtk/accessibility/roles-exposed-expected.txt: Updated expectations. + 2017-10-10 Joanmarie Diggs AX: [ATK] STATE_CHECKABLE should be removed from radio buttons in radiogroups with aria-readonly="true" diff --git a/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt b/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt index 0f1738d35e49..be93fe7d917c 100644 --- a/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt +++ b/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt @@ -647,7 +647,7 @@ div[role=figure] AXRole: AXGroup div[role=form] - AXRole: AXForm + AXRole: AXLandmarkForm div[role=grid] AXRole: AXTable diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 24cc98b2306a..3be80296835f 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,18 @@ +2017-10-10 Joanmarie Diggs + + AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM + https://bugs.webkit.org/show_bug.cgi?id=178137 + + Reviewed by Chris Fleizach. + + Expose the ARIA form role as ATK_ROLE_LANDMARK; continue to expose the HTML form + element as ATK_ROLE_FORM. + + No new tests needed due to existing coverage. Update expectations for roles-exposed.html. + + * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: + (atkRole): + 2017-10-10 Joanmarie Diggs AX: [ATK] STATE_CHECKABLE should be removed from radio buttons in radiogroups with aria-readonly="true" diff --git a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp index c536db691132..bdc91c396770 100644 --- a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp +++ b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp @@ -773,6 +773,10 @@ static AtkRole atkRole(AccessibilityObject* coreObject) case FooterRole: return ATK_ROLE_FOOTER; case FormRole: +#if ATK_CHECK_VERSION(2, 11, 3) + if (coreObject->ariaRoleAttribute() != UnknownRole) + return ATK_ROLE_LANDMARK; +#endif return ATK_ROLE_FORM; case CanvasRole: return ATK_ROLE_CANVAS; diff --git a/Tools/ChangeLog b/Tools/ChangeLog index 1a974b68caab..1c5c65dfe244 100644 --- a/Tools/ChangeLog +++ b/Tools/ChangeLog @@ -1,3 +1,14 @@ +2017-10-10 Joanmarie Diggs + + AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM + https://bugs.webkit.org/show_bug.cgi?id=178137 + + Reviewed by Chris Fleizach. + + Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role. + + * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: + 2017-10-03 Joanmarie Diggs AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes diff --git a/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp b/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp index 4502b894e954..47b2e6704e33 100644 --- a/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp +++ b/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp @@ -125,6 +125,7 @@ const String attributesMap[][2] = { const char* landmarkStringBanner = "AXLandmarkBanner"; const char* landmarkStringComplementary = "AXLandmarkComplementary"; const char* landmarkStringContentinfo = "AXLandmarkContentInfo"; +const char* landmarkStringForm = "AXLandmarkForm"; const char* landmarkStringMain = "AXLandmarkMain"; const char* landmarkStringNavigation = "AXLandmarkNavigation"; const char* landmarkStringRegion = "AXLandmarkRegion"; @@ -394,6 +395,8 @@ const gchar* roleToString(AtkObject* object) return landmarkStringRegion; if (equalLettersIgnoringASCIICase(xmlRolesValue, "doc-toc")) return landmarkStringRegion; + if (equalLettersIgnoringASCIICase(xmlRolesValue, "form")) + return landmarkStringForm; if (equalLettersIgnoringASCIICase(xmlRolesValue, "main")) return landmarkStringMain; if (equalLettersIgnoringASCIICase(xmlRolesValue, "navigation"))