Changeset 195463 in webkit


Ignore:
Timestamp:
Jan 22, 2016 11:31:22 AM (8 years ago)
Author:
Chris Fleizach
Message:

AX: <code> group and friends should have a custom subrole
https://bugs.webkit.org/show_bug.cgi?id=153282

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Add some custom subroles for the mac for code, ins, del, cite, var, samp, pre, kbd,
so that assistive tech can recognize them.

Test: accessibility/mac/subroles-for-formatted-groups.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isStyleFormatGroup):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper subrole]):

LayoutTests:

  • accessibility/duplicate-child-nodes-expected.txt:
  • accessibility/mac/subroles-for-formatted-groups-expected.txt: Added.
  • accessibility/mac/subroles-for-formatted-groups.html: Added.
  • accessibility/roles-computedRoleString-expected.txt:
  • accessibility/roles-computedRoleString.html:
Location:
trunk
Files:
2 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r195461 r195463  
     12016-01-22  Chris Fleizach  <cfleizach@apple.com>
     2
     3        AX: <code> group and friends should have a custom subrole
     4        https://bugs.webkit.org/show_bug.cgi?id=153282
     5
     6        Reviewed by Mario Sanchez Prada.
     7
     8        * accessibility/duplicate-child-nodes-expected.txt:
     9        * accessibility/mac/subroles-for-formatted-groups-expected.txt: Added.
     10        * accessibility/mac/subroles-for-formatted-groups.html: Added.
     11        * accessibility/roles-computedRoleString-expected.txt:
     12        * accessibility/roles-computedRoleString.html:
     13
    1142016-01-22  Skachkov Oleksandr  <gskachkov@gmail.com>
    215
  • trunk/LayoutTests/accessibility/duplicate-child-nodes-expected.txt

    r95018 r195463  
    44
    55
     6PASS webArea.childAtIndex(0).isEqual(webArea.childAtIndex(1)) is false
    67PASS successfullyParsed is true
    78
  • trunk/LayoutTests/accessibility/roles-computedRoleString-expected.txt

    r186692 r195463  
    4343PASS: input[type='url'] -> .
    4444PASS: input[type='week'] -> .
     45PASS: ins -> group.
    4546PASS: math -> math.
    4647PASS: meter -> progressbar.
     
    4950PASS: li -> listitem.
    5051PASS: p -> .
    51 PASS: pre -> .
     52PASS: pre -> group.
    5253PASS: progress -> progressbar.
     54PASS: samp -> group.
    5355PASS: section -> region.
    5456PASS: select:not([multiple]) -> .
     
    7577PASS: ul -> list.
    7678PASS: li -> listitem.
     79PASS: var -> group.
    7780PASS: div[role="command"] -> .
    7881PASS: div[role="composite"] -> .
  • trunk/LayoutTests/accessibility/roles-computedRoleString.html

    r186692 r195463  
    5353<input type="url" value="X" data-role="" class="ex" data-note="[type='url']">
    5454<input type="week" value="X" data-role="" class="ex" data-note="[type='week']">
    55 <ins data-role="" class="ex">X</ins>
     55<ins data-role="group" class="ex">X</ins>
    5656<mark data-role="" class="ex">X</mark>
    5757<math data-role="math" class="ex">X</math>
     
    7070<p data-role="" class="ex">X</p>
    7171<!-- skipped <param> -->
    72 <pre data-role="" class="ex">X</pre>
     72<pre data-role="group" class="ex">X</pre>
    7373<progress data-role="progressbar" class="ex" value="0.75">X</progress>
    7474<q data-role="" class="ex">X</q>
    7575<!-- skipped <ruby/rp/rt> -->
    7676<s data-role="" class="ex">X</s>
    77 <samp data-role="" class="ex">X</samp>
     77<samp data-role="group" class="ex">X</samp>
    7878<!-- skipped <script> -->
    7979<section data-role="region" class="ex">X</section>
     
    141141    <li data-role="listitem" class="ex">X</li>
    142142</ul>
    143 <var data-role="" class="ex">X</var>
     143<var data-role="group" class="ex">X</var>
    144144<wbr data-role="" class="ex">X</wbr>
    145145
  • trunk/LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt

    r188203 r195463  
    7171     
    7272cite
    73       AXRole:
    74       AXSubrole:
    75       AXRoleDescription:
     73      AXRole: AXGroup
     74      AXSubrole: AXCiteStyleGroup
     75      AXRoleDescription: group
    7676     
    7777code
    78       AXRole:
    79       AXSubrole:
    80       AXRoleDescription:
     78      AXRole: AXGroup
     79      AXSubrole: AXCodeStyleGroup
     80      AXRoleDescription: group
    8181     
    8282del:not([datetime])
    83       AXRole:
    84       AXSubrole:
    85       AXRoleDescription:
     83      AXRole: AXGroup
     84      AXSubrole: AXDeleteStyleGroup
     85      AXRoleDescription: group
    8686     
    8787del[datetime]
    88       AXRole:
    89       AXSubrole:
    90       AXRoleDescription:
     88      AXRole: AXGroup
     89      AXSubrole: AXDeleteStyleGroup
     90      AXRoleDescription: group
    9191     
    9292dfn
     
    336336     
    337337ins:not([datetime])
    338       AXRole:
    339       AXSubrole:
    340       AXRoleDescription:
     338      AXRole: AXGroup
     339      AXSubrole: AXInsertStyleGroup
     340      AXRoleDescription: group
    341341     
    342342ins[datetime]
    343       AXRole:
    344       AXSubrole:
    345       AXRoleDescription:
     343      AXRole: AXGroup
     344      AXSubrole: AXInsertStyleGroup
     345      AXRoleDescription: group
    346346     
    347347map
     
    557557pre
    558558      AXRole: AXGroup
    559       AXSubrole:
     559      AXSubrole: AXPreformattedStyleGroup
    560560      AXRoleDescription: group
    561561     
     
    576576     
    577577samp
    578       AXRole:
    579       AXSubrole:
    580       AXRoleDescription:
     578      AXRole: AXGroup
     579      AXSubrole: AXSampleStyleGroup
     580      AXRoleDescription: group
    581581     
    582582section
     
    731731     
    732732var
    733       AXRole:
    734       AXSubrole:
    735       AXRoleDescription:
     733      AXRole: AXGroup
     734      AXSubrole: AXVariableStyleGroup
     735      AXRoleDescription: group
    736736     
    737737wbr
  • trunk/Source/WebCore/ChangeLog

    r195459 r195463  
     12016-01-22  Chris Fleizach  <cfleizach@apple.com>
     2
     3        AX: <code> group and friends should have a custom subrole
     4        https://bugs.webkit.org/show_bug.cgi?id=153282
     5
     6        Reviewed by Mario Sanchez Prada.
     7
     8        Add some custom subroles for the mac for code, ins, del, cite, var, samp, pre, kbd,
     9        so that assistive tech can recognize them.
     10
     11        Test: accessibility/mac/subroles-for-formatted-groups.html
     12
     13        * accessibility/AccessibilityObject.cpp:
     14        (WebCore::AccessibilityObject::isStyleFormatGroup):
     15        * accessibility/AccessibilityObject.h:
     16        * accessibility/AccessibilityRenderObject.cpp:
     17        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
     18        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
     19        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
     20        (-[WebAccessibilityObjectWrapper subrole]):
     21
    1222016-01-22  Enrica Casucci  <enrica@apple.com>
    223
  • trunk/Source/WebCore/accessibility/AccessibilityObject.cpp

    r195452 r195463  
    29412941#endif
    29422942
    2943 bool AccessibilityObject::isContainedByPasswordField() const
     2943bool AccessibilityObject::isStyleFormatGroup() const
    29442944{
    29452945    Node* node = this->node();
     
    29472947        return false;
    29482948   
     2949    return node->hasTagName(kbdTag) || node->hasTagName(codeTag)
     2950    || node->hasTagName(preTag) || node->hasTagName(sampTag)
     2951    || node->hasTagName(varTag) || node->hasTagName(citeTag)
     2952    || node->hasTagName(insTag) || node->hasTagName(delTag);
     2953}
     2954   
     2955bool AccessibilityObject::isContainedByPasswordField() const
     2956{
     2957    Node* node = this->node();
     2958    if (!node)
     2959        return false;
     2960   
    29492961    if (ariaRoleAttribute() != UnknownRole)
    29502962        return false;
  • trunk/Source/WebCore/accessibility/AccessibilityObject.h

    r195240 r195463  
    541541    bool isSplitter() const { return roleValue() == SplitterRole; }
    542542    bool isToolbar() const { return roleValue() == ToolbarRole; }
    543 
     543    bool isStyleFormatGroup() const;
     544   
    544545    virtual bool isChecked() const { return false; }
    545546    virtual bool isEnabled() const { return false; }
  • trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp

    r195457 r195463  
    13871387        return false;
    13881388   
     1389    if (isStyleFormatGroup())
     1390        return false;
     1391   
    13891392    // Make sure that ruby containers are not ignored.
    13901393    if (m_renderer->isRubyRun() || m_renderer->isRubyBlock() || m_renderer->isRubyInline())
     
    25822585    if (node && node->hasTagName(SVGNames::gTag))
    25832586        return GroupRole;
    2584 
     2587   
     2588    if (isStyleFormatGroup())
     2589        return GroupRole;
     2590   
    25852591#if ENABLE(MATHML)
    25862592    if (node && node->hasTagName(MathMLNames::mathTag))
  • trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

    r195240 r195463  
    23622362        return NSAccessibilitySwitchSubrole;
    23632363
     2364    if (role == GroupRole) {
     2365        if (Node* node = m_object->node()) {
     2366            if (node->hasTagName(kbdTag))
     2367                return @"AXKeyboardInputStyleGroup";
     2368            if (node->hasTagName(codeTag))
     2369                return @"AXCodeStyleGroup";
     2370            if (node->hasTagName(preTag))
     2371                return @"AXPreformattedStyleGroup";
     2372            if (node->hasTagName(sampTag))
     2373                return @"AXSampleStyleGroup";
     2374            if (node->hasTagName(varTag))
     2375                return @"AXVariableStyleGroup";
     2376            if (node->hasTagName(citeTag))
     2377                return @"AXCiteStyleGroup";
     2378            if (node->hasTagName(insTag))
     2379                return @"AXInsertStyleGroup";
     2380            if (node->hasTagName(delTag))
     2381                return @"AXDeleteStyleGroup";
     2382        }
     2383    }
     2384   
    23642385    // Ruby subroles
    23652386    switch (role) {
Note: See TracChangeset for help on using the changeset viewer.