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 <[email protected]>
+ 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 <[email protected]>
+
+ 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 <[email protected]>
+
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 <[email protected]>
+ 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 <[email protected]>
+
+ 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 <[email protected]>
+
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