Changeset 271416 in webkit


Ignore:
Timestamp:
Jan 12, 2021 2:13:28 PM (3 years ago)
Author:
Chris Fleizach
Message:

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.
Location:
trunk
Files:
2 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r271413 r271416  
     12021-01-12  Chris Fleizach  <cfleizach@apple.com>
     2
     3        AX: Implement aria-braillelabel and aria-brailleroledescription
     4        https://bugs.webkit.org/show_bug.cgi?id=220516
     5        <rdar://problem/73004715>
     6
     7        Reviewed by Zalan Bujtas.
     8
     9        * accessibility/braille-label-role-expected.txt: Added.
     10        * accessibility/braille-label-role.html: Added.
     11
    1122021-01-12  Truitt Savell  <tsavell@apple.com>
    213
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r271290 r271416  
    137137webkit.org/b/215405 accessibility/gtk/text-for-range-combo-box.html [ Failure ]
    138138webkit.org/b/215405 inspector/dom/getAccessibilityPropertiesForNode.html [ Failure ]
     139# aria-braille* attributes are not implemented:
     140accessibility/braille-label-role.html
    139141
    140142# CSS
  • trunk/LayoutTests/platform/win/TestExpectations

    r271316 r271416  
    15601560# Color Well is not implemented:
    15611561accessibility/color-well.html
     1562
     1563# aria-braille* attributes are not implemented:
     1564accessibility/braille-label-role.html
    15621565
    15631566# Failing Windows-only accessibility tests
  • trunk/Source/WebCore/ChangeLog

    r271415 r271416  
     12021-01-12  Chris Fleizach  <cfleizach@apple.com>
     2
     3        AX: Implement aria-braillelabel and aria-brailleroledescription
     4        https://bugs.webkit.org/show_bug.cgi?id=220516
     5        <rdar://problem/73004715>
     6
     7        Reviewed by Zalan Bujtas.
     8
     9        Add support for new ARIA attributes.
     10
     11        Test: accessibility/mac/braille-label-role.html
     12
     13        * accessibility/AccessibilityObject.h:
     14        * accessibility/AccessibilityObjectInterface.h:
     15        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
     16        (-[WebAccessibilityObjectWrapper accessibilityBrailleLabel]):
     17        (-[WebAccessibilityObjectWrapper accessibilityBrailleRoleDescription]):
     18        * accessibility/isolatedtree/AXIsolatedObject.cpp:
     19        (WebCore::AXIsolatedObject::initializeAttributeData):
     20        * accessibility/isolatedtree/AXIsolatedObject.h:
     21        * accessibility/isolatedtree/AXIsolatedTree.h:
     22        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
     23        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
     24        * html/HTMLAttributeNames.in:
     25
    1262021-01-12  Don Olmstead  <don.olmstead@sony.com>
    227
  • trunk/Source/WebCore/accessibility/AccessibilityObject.h

    r270609 r271416  
    398398    const String placeholderValue() const override;
    399399    bool accessibleNameDerivesFromContent() const override;
     400    String brailleLabel() const override { return getAttribute(HTMLNames::aria_braillelabelAttr); }
     401    String brailleRoleDescription() const override { return getAttribute(HTMLNames::aria_brailleroledescriptionAttr); }
    400402
    401403    // Abbreviations
  • trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h

    r270834 r271416  
    10101010    virtual int layoutCount() const = 0;
    10111011    virtual double estimatedLoadingProgress() const = 0;
     1012    virtual String brailleLabel() const = 0;
     1013    virtual String brailleRoleDescription() const = 0;
    10121014
    10131015    virtual bool supportsARIAOwns() const = 0;
  • trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm

    r270787 r271416  
    11601160}
    11611161
     1162- (NSString *)accessibilityBrailleLabel
     1163{
     1164    if (![self _prepareAccessibilityCall])
     1165        return nil;
     1166    return self.axBackingObject->brailleLabel();
     1167}
     1168
     1169- (NSString *)accessibilityBrailleRoleDescription
     1170{
     1171    if (![self _prepareAccessibilityCall])
     1172        return nil;
     1173    return self.axBackingObject->brailleRoleDescription();
     1174}
     1175
    11621176- (NSString *)accessibilityLabel
    11631177{
  • trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp

    r271148 r271416  
    236236    setObjectProperty(AXPropertyName::PreviousSibling, object.previousSibling());
    237237    setProperty(AXPropertyName::SupportsCheckedState, object.supportsCheckedState());
     238    setProperty(AXPropertyName::BrailleRoleDescription, object.brailleRoleDescription().isolatedCopy());
     239    setProperty(AXPropertyName::BrailleLabel, object.brailleLabel().isolatedCopy());
    238240
    239241    if (object.isTable()) {
  • trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h

    r270787 r271416  
    271271    IntPoint clickPoint() override { return intPointAttributeValue(AXPropertyName::ClickPoint); }
    272272    void accessibilityText(Vector<AccessibilityText>& texts) const override;
     273    String brailleLabel() const override { return stringAttributeValue(AXPropertyName::BrailleLabel); }
     274    String brailleRoleDescription() const override { return stringAttributeValue(AXPropertyName::BrailleRoleDescription); }
     275
    273276    String computedRoleString() const override { return stringAttributeValue(AXPropertyName::ComputedRoleString); }
    274277    bool isValueAutofilled() const override { return boolAttributeValue(AXPropertyName::IsValueAutofilled); }
  • trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h

    r270333 r271416  
    7070    BlockquoteLevel,
    7171    BoundingBoxRect,
     72    BrailleLabel,
     73    BrailleRoleDescription,
    7274    CanHaveSelectedChildren,
    7375    CanSetExpandedAttribute,
  • trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

    r270787 r271416  
    534534#ifndef NSAccessibilityRelativeFrameAttribute
    535535#define NSAccessibilityRelativeFrameAttribute @"AXRelativeFrame"
     536#endif
     537
     538#ifndef NSAccessibilityBrailleLabelAttribute
     539#define NSAccessibilityBrailleLabelAttribute @"AXBrailleLabel"
     540#endif
     541
     542#ifndef NSAccessibilityBrailleRoleDescriptionAttribute
     543#define NSAccessibilityBrailleRoleDescriptionAttribute @"AXBrailleRoleDescription"
    536544#endif
    537545
     
    29032911    }
    29042912
     2913    if ([attributeName isEqualToString:NSAccessibilityBrailleLabelAttribute])
     2914        return backingObject->brailleLabel();
     2915
     2916    if ([attributeName isEqualToString:NSAccessibilityBrailleRoleDescriptionAttribute])
     2917        return backingObject->brailleRoleDescription();
     2918
    29052919    if ([attributeName isEqualToString:NSAccessibilityRelativeFrameAttribute])
    29062920        return [NSValue valueWithRect:(NSRect)backingObject->relativeFrame()];
  • trunk/Source/WebCore/html/HTMLAttributeNames.in

    r269886 r271416  
    1818aria-atomic
    1919aria-autocomplete
     20aria-braillelabel
     21aria-brailleroledescription
    2022aria-busy
    2123aria-checked
Note: See TracChangeset for help on using the changeset viewer.