Title: [271834] branches/safari-611-branch
Revision
271834
Author
alanc...@apple.com
Date
2021-01-25 14:11:55 -0800 (Mon, 25 Jan 2021)

Log Message

Cherry-pick r271416. rdar://problem/73478416

    AX: Implement aria-braillelabel and aria-brailleroledescription
    https://bugs.webkit.org/show_bug.cgi?id=220516
    <rdar://problem/73004715>

    Reviewed by Zalan Bujtas.

    Source/WebCore:

    Add support for new ARIA attributes.

    Test: accessibility/mac/braille-label-role.html

    * accessibility/AccessibilityObject.h:
    * accessibility/AccessibilityObjectInterface.h:
    * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
    (-[WebAccessibilityObjectWrapper accessibilityBrailleLabel]):
    (-[WebAccessibilityObjectWrapper accessibilityBrailleRoleDescription]):
    * accessibility/isolatedtree/AXIsolatedObject.cpp:
    (WebCore::AXIsolatedObject::initializeAttributeData):
    * accessibility/isolatedtree/AXIsolatedObject.h:
    * accessibility/isolatedtree/AXIsolatedTree.h:
    * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
    (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
    * html/HTMLAttributeNames.in:

    LayoutTests:

    * accessibility/braille-label-role-expected.txt: Added.
    * accessibility/braille-label-role.html: Added.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Added Paths

Diff

Modified: branches/safari-611-branch/LayoutTests/ChangeLog (271833 => 271834)


--- branches/safari-611-branch/LayoutTests/ChangeLog	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/LayoutTests/ChangeLog	2021-01-25 22:11:55 UTC (rev 271834)
@@ -1,5 +1,53 @@
 2021-01-25  Alan Coon  <alanc...@apple.com>
 
+        Cherry-pick r271416. rdar://problem/73478416
+
+    AX: Implement aria-braillelabel and aria-brailleroledescription
+    https://bugs.webkit.org/show_bug.cgi?id=220516
+    <rdar://problem/73004715>
+    
+    Reviewed by Zalan Bujtas.
+    
+    Source/WebCore:
+    
+    Add support for new ARIA attributes.
+    
+    Test: accessibility/mac/braille-label-role.html
+    
+    * accessibility/AccessibilityObject.h:
+    * accessibility/AccessibilityObjectInterface.h:
+    * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+    (-[WebAccessibilityObjectWrapper accessibilityBrailleLabel]):
+    (-[WebAccessibilityObjectWrapper accessibilityBrailleRoleDescription]):
+    * accessibility/isolatedtree/AXIsolatedObject.cpp:
+    (WebCore::AXIsolatedObject::initializeAttributeData):
+    * accessibility/isolatedtree/AXIsolatedObject.h:
+    * accessibility/isolatedtree/AXIsolatedTree.h:
+    * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+    (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+    * html/HTMLAttributeNames.in:
+    
+    LayoutTests:
+    
+    * accessibility/braille-label-role-expected.txt: Added.
+    * accessibility/braille-label-role.html: Added.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2021-01-12  Chris Fleizach  <cfleiz...@apple.com>
+
+            AX: Implement aria-braillelabel and aria-brailleroledescription
+            https://bugs.webkit.org/show_bug.cgi?id=220516
+            <rdar://problem/73004715>
+
+            Reviewed by Zalan Bujtas.
+
+            * accessibility/braille-label-role-expected.txt: Added.
+            * accessibility/braille-label-role.html: Added.
+
+2021-01-25  Alan Coon  <alanc...@apple.com>
+
         Cherry-pick r271407. rdar://problem/73477392
 
     REGRESSION (r271341): media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-inline.html is timing out

Added: branches/safari-611-branch/LayoutTests/accessibility/braille-label-role-expected.txt (0 => 271834)


--- branches/safari-611-branch/LayoutTests/accessibility/braille-label-role-expected.txt	                        (rev 0)
+++ branches/safari-611-branch/LayoutTests/accessibility/braille-label-role-expected.txt	2021-01-25 22:11:55 UTC (rev 271834)
@@ -0,0 +1,12 @@
+
+Validate aria-braillelabel and aria-brailleroledescription
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS label.stringAttributeValue('AXBrailleLabel') is 'braille'
+PASS label.stringAttributeValue('AXBrailleRoleDescription') is 'braille role'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: branches/safari-611-branch/LayoutTests/accessibility/braille-label-role.html (0 => 271834)


--- branches/safari-611-branch/LayoutTests/accessibility/braille-label-role.html	                        (rev 0)
+++ branches/safari-611-branch/LayoutTests/accessibility/braille-label-role.html	2021-01-25 22:11:55 UTC (rev 271834)
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<input id="label" type="text" value="text" aria-braillelabel="braille" aria-label="label" aria-brailleroledescription="braille role"/>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+    description("Validate aria-braillelabel and aria-brailleroledescription");
+
+    if (window.accessibilityController) {
+        var label = accessibilityController.accessibleElementById("label");
+        shouldBe("label.stringAttributeValue('AXBrailleLabel')", "'braille'");
+        shouldBe("label.stringAttributeValue('AXBrailleRoleDescription')", "'braille role'");
+    }
+</script>
+<script src=""
+</body>
+</html>

Modified: branches/safari-611-branch/LayoutTests/platform/gtk/TestExpectations (271833 => 271834)


--- branches/safari-611-branch/LayoutTests/platform/gtk/TestExpectations	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/LayoutTests/platform/gtk/TestExpectations	2021-01-25 22:11:55 UTC (rev 271834)
@@ -136,6 +136,8 @@
 webkit.org/b/215405 accessibility/gtk/combobox-descendants-orientation-crash.html [ Failure ]
 webkit.org/b/215405 accessibility/gtk/text-for-range-combo-box.html [ Failure ]
 webkit.org/b/215405 inspector/dom/getAccessibilityPropertiesForNode.html [ Failure ]
+# aria-braille* attributes are not implemented:
+accessibility/braille-label-role.html
 
 # CSS
 webkit.org/b/216161 imported/w3c/web-platform-tests/css/css-pseudo/text-selection.html [ Failure Pass ]

Modified: branches/safari-611-branch/LayoutTests/platform/win/TestExpectations (271833 => 271834)


--- branches/safari-611-branch/LayoutTests/platform/win/TestExpectations	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/LayoutTests/platform/win/TestExpectations	2021-01-25 22:11:55 UTC (rev 271834)
@@ -1560,6 +1560,9 @@
 # Color Well is not implemented:
 accessibility/color-well.html
 
+# aria-braille* attributes are not implemented:
+accessibility/braille-label-role.html
+
 # Failing Windows-only accessibility tests
 webkit.org/b/127485 [ Debug ] accessibility/win/parent-element.html [ Failure ]
 webkit.org/b/127485 [ Release ] accessibility/win/parent-element.html [ Pass Failure ]

Modified: branches/safari-611-branch/Source/WebCore/ChangeLog (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/ChangeLog	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/ChangeLog	2021-01-25 22:11:55 UTC (rev 271834)
@@ -1,5 +1,67 @@
 2021-01-25  Alan Coon  <alanc...@apple.com>
 
+        Cherry-pick r271416. rdar://problem/73478416
+
+    AX: Implement aria-braillelabel and aria-brailleroledescription
+    https://bugs.webkit.org/show_bug.cgi?id=220516
+    <rdar://problem/73004715>
+    
+    Reviewed by Zalan Bujtas.
+    
+    Source/WebCore:
+    
+    Add support for new ARIA attributes.
+    
+    Test: accessibility/mac/braille-label-role.html
+    
+    * accessibility/AccessibilityObject.h:
+    * accessibility/AccessibilityObjectInterface.h:
+    * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+    (-[WebAccessibilityObjectWrapper accessibilityBrailleLabel]):
+    (-[WebAccessibilityObjectWrapper accessibilityBrailleRoleDescription]):
+    * accessibility/isolatedtree/AXIsolatedObject.cpp:
+    (WebCore::AXIsolatedObject::initializeAttributeData):
+    * accessibility/isolatedtree/AXIsolatedObject.h:
+    * accessibility/isolatedtree/AXIsolatedTree.h:
+    * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+    (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+    * html/HTMLAttributeNames.in:
+    
+    LayoutTests:
+    
+    * accessibility/braille-label-role-expected.txt: Added.
+    * accessibility/braille-label-role.html: Added.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2021-01-12  Chris Fleizach  <cfleiz...@apple.com>
+
+            AX: Implement aria-braillelabel and aria-brailleroledescription
+            https://bugs.webkit.org/show_bug.cgi?id=220516
+            <rdar://problem/73004715>
+
+            Reviewed by Zalan Bujtas.
+
+            Add support for new ARIA attributes.
+
+            Test: accessibility/mac/braille-label-role.html
+
+            * accessibility/AccessibilityObject.h:
+            * accessibility/AccessibilityObjectInterface.h:
+            * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+            (-[WebAccessibilityObjectWrapper accessibilityBrailleLabel]):
+            (-[WebAccessibilityObjectWrapper accessibilityBrailleRoleDescription]):
+            * accessibility/isolatedtree/AXIsolatedObject.cpp:
+            (WebCore::AXIsolatedObject::initializeAttributeData):
+            * accessibility/isolatedtree/AXIsolatedObject.h:
+            * accessibility/isolatedtree/AXIsolatedTree.h:
+            * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+            (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+            * html/HTMLAttributeNames.in:
+
+2021-01-25  Alan Coon  <alanc...@apple.com>
+
         Cherry-pick r271524. rdar://problem/73473371
 
     Reversed transform animation not applied alongside other transform animations

Modified: branches/safari-611-branch/Source/WebCore/accessibility/AccessibilityObject.h (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/accessibility/AccessibilityObject.h	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/accessibility/AccessibilityObject.h	2021-01-25 22:11:55 UTC (rev 271834)
@@ -397,6 +397,8 @@
     String ariaDescribedByAttribute() const override { return String(); }
     const String placeholderValue() const override;
     bool accessibleNameDerivesFromContent() const override;
+    String brailleLabel() const override { return getAttribute(HTMLNames::aria_braillelabelAttr); }
+    String brailleRoleDescription() const override { return getAttribute(HTMLNames::aria_brailleroledescriptionAttr); }
 
     // Abbreviations
     String expandedTextValue() const override { return String(); }

Modified: branches/safari-611-branch/Source/WebCore/accessibility/AccessibilityObjectInterface.h (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/accessibility/AccessibilityObjectInterface.h	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/accessibility/AccessibilityObjectInterface.h	2021-01-25 22:11:55 UTC (rev 271834)
@@ -1009,6 +1009,8 @@
     virtual AXCoreObject* selectedListItem() = 0;
     virtual int layoutCount() const = 0;
     virtual double estimatedLoadingProgress() const = 0;
+    virtual String brailleLabel() const = 0;
+    virtual String brailleRoleDescription() const = 0;
 
     virtual bool supportsARIAOwns() const = 0;
     virtual bool isActiveDescendantOfFocusedContainer() const = 0;

Modified: branches/safari-611-branch/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm	2021-01-25 22:11:55 UTC (rev 271834)
@@ -1159,6 +1159,20 @@
     return self.axBackingObject->roleDescription();
 }
 
+- (NSString *)accessibilityBrailleLabel
+{
+    if (![self _prepareAccessibilityCall])
+        return nil;
+    return self.axBackingObject->brailleLabel();
+}
+
+- (NSString *)accessibilityBrailleRoleDescription
+{
+    if (![self _prepareAccessibilityCall])
+        return nil;
+    return self.axBackingObject->brailleRoleDescription();
+}
+
 - (NSString *)accessibilityLabel
 {
     if (![self _prepareAccessibilityCall])

Modified: branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2021-01-25 22:11:55 UTC (rev 271834)
@@ -235,6 +235,8 @@
     setObjectProperty(AXPropertyName::NextSibling, object.nextSibling());
     setObjectProperty(AXPropertyName::PreviousSibling, object.previousSibling());
     setProperty(AXPropertyName::SupportsCheckedState, object.supportsCheckedState());
+    setProperty(AXPropertyName::BrailleRoleDescription, object.brailleRoleDescription().isolatedCopy());
+    setProperty(AXPropertyName::BrailleLabel, object.brailleLabel().isolatedCopy());
 
     if (object.isTable()) {
         setProperty(AXPropertyName::IsTable, true);

Modified: branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h	2021-01-25 22:11:55 UTC (rev 271834)
@@ -270,6 +270,9 @@
     LayoutRect elementRect() const override { return rectAttributeValue<LayoutRect>(AXPropertyName::ElementRect); }
     IntPoint clickPoint() override { return intPointAttributeValue(AXPropertyName::ClickPoint); }
     void accessibilityText(Vector<AccessibilityText>& texts) const override;
+    String brailleLabel() const override { return stringAttributeValue(AXPropertyName::BrailleLabel); }
+    String brailleRoleDescription() const override { return stringAttributeValue(AXPropertyName::BrailleRoleDescription); }
+
     String computedRoleString() const override { return stringAttributeValue(AXPropertyName::ComputedRoleString); }
     bool isValueAutofilled() const override { return boolAttributeValue(AXPropertyName::IsValueAutofilled); }
     bool isValueAutofillAvailable() const override { return boolAttributeValue(AXPropertyName::IsValueAutofillAvailable); }

Modified: branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h	2021-01-25 22:11:55 UTC (rev 271834)
@@ -69,6 +69,8 @@
     AutoCompleteValue,
     BlockquoteLevel,
     BoundingBoxRect,
+    BrailleLabel,
+    BrailleRoleDescription,
     CanHaveSelectedChildren,
     CanSetExpandedAttribute,
     CanSetFocusAttribute,

Modified: branches/safari-611-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2021-01-25 22:11:55 UTC (rev 271834)
@@ -535,6 +535,14 @@
 #define NSAccessibilityRelativeFrameAttribute @"AXRelativeFrame"
 #endif
 
+#ifndef NSAccessibilityBrailleLabelAttribute
+#define NSAccessibilityBrailleLabelAttribute @"AXBrailleLabel"
+#endif
+
+#ifndef NSAccessibilityBrailleRoleDescriptionAttribute
+#define NSAccessibilityBrailleRoleDescriptionAttribute @"AXBrailleRoleDescription"
+#endif
+
 extern "C" AXUIElementRef NSAccessibilityCreateAXUIElementRef(id element);
 
 @implementation WebAccessibilityObjectWrapper
@@ -2902,6 +2910,12 @@
         return convertToNSArray(details);
     }
 
+    if ([attributeName isEqualToString:NSAccessibilityBrailleLabelAttribute])
+        return backingObject->brailleLabel();
+
+    if ([attributeName isEqualToString:NSAccessibilityBrailleRoleDescriptionAttribute])
+        return backingObject->brailleRoleDescription();
+
     if ([attributeName isEqualToString:NSAccessibilityRelativeFrameAttribute])
         return [NSValue valueWithRect:(NSRect)backingObject->relativeFrame()];
 

Modified: branches/safari-611-branch/Source/WebCore/html/HTMLAttributeNames.in (271833 => 271834)


--- branches/safari-611-branch/Source/WebCore/html/HTMLAttributeNames.in	2021-01-25 22:11:49 UTC (rev 271833)
+++ branches/safari-611-branch/Source/WebCore/html/HTMLAttributeNames.in	2021-01-25 22:11:55 UTC (rev 271834)
@@ -17,6 +17,8 @@
 aria-activedescendant
 aria-atomic
 aria-autocomplete
+aria-braillelabel
+aria-brailleroledescription
 aria-busy
 aria-checked
 aria-colcount
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to