Changeset 166594 in webkit


Ignore:
Timestamp:
Apr 1, 2014 9:36:45 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if

roleValue is ApplicationAlertRole
ApplicationStatusRole

https://bugs.webkit.org/show_bug.cgi?id=130907

Patch by James Craig <jcraig@apple.com> on 2014-04-01
Reviewed by Chris Fleizach.

Source/WebCore:

Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:

platform/mac/accessibility/aria-liveregions-attributes.html:

Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):

LayoutTests:

Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.

  • inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
  • platform/mac/accessibility/aria-liveregions-attributes-expected.txt:
  • platform/mac/accessibility/aria-liveregions-attributes.html:
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r166582 r166594  
     12014-04-01  James Craig  <jcraig@apple.com>
     2
     3        AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if
     4        roleValue is ApplicationAlertRole || ApplicationStatusRole
     5        https://bugs.webkit.org/show_bug.cgi?id=130907
     6
     7        Reviewed by Chris Fleizach.
     8
     9        Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.
     10
     11        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt:
     12        * inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
     13        * platform/mac/accessibility/aria-liveregions-attributes-expected.txt:
     14        * platform/mac/accessibility/aria-liveregions-attributes.html:
     15
    1162014-04-01  Zalan Bujtas  <zalan@apple.com>
    217
  • trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt

    r166449 r166594  
    99    exists: true
    1010
    11 <div role="status" aria-live="assertive">assertive <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
     11<div role="status" aria-live="assertive">assertive</div>
    1212    exists: true
    13     liveRegionAtomic: false
     13    liveRegionAtomic: true
    1414    liveRegionStatus: assertive
    1515
    16 <div role="status">polite (default) <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
     16<div role="status">polite (default)</div>
    1717    exists: true
    18     liveRegionAtomic: false
     18    liveRegionAtomic: true
    1919    liveRegionStatus: polite
    2020
     
    3535    liveRegionStatus: polite
    3636
    37 <div role="alert" aria-live="polite">polite <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
     37<div role="alert" aria-live="polite">polite</div>
    3838    exists: true
    39     liveRegionAtomic: false
     39    liveRegionAtomic: true
    4040    liveRegionStatus: polite
    4141
     
    4343    exists: true
    4444
    45 <div role="alert">assertive (default) <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
     45<div role="alert">assertive (default)</div>
    4646    exists: true
    47     liveRegionAtomic: false
     47    liveRegionAtomic: true
    4848    liveRegionStatus: assertive
    4949
  • trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html

    r166449 r166594  
    1616    <div class="ex" role="group" aria-live="assertive" aria-busy="true" aria-atomic="false">assertive</div>
    1717   
    18     <div class="ex" role="alert">assertive (default) <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
     18    <div class="ex" role="alert">assertive (default)</div>
    1919        <div class="ex" role="alert" aria-live="off">off</div>
    20         <div class="ex" role="alert" aria-live="polite">polite <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
     20        <div class="ex" role="alert" aria-live="polite">polite</div>
    2121        <div class="ex" role="log">polite (default)</div>
    2222        <div class="ex" role="log" aria-live="assertive">assertive</div>
    2323        <div class="ex" role="log" aria-live="off">off</div>
    2424        <div class="ex" role="marquee">off (default)</div>
    25         <div class="ex" role="status">polite (default) <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
    26         <div class="ex" role="status" aria-live="assertive">assertive <!-- FIXME: atomic should be true http://webkit.org/b/130907 --></div>
     25        <div class="ex" role="status">polite (default)</div>
     26        <div class="ex" role="status" aria-live="assertive">assertive</div>
    2727        <div class="ex" role="status" aria-live="off">off</div>
    2828        <div class="ex" role="timer">off (default)</div>
  • trunk/LayoutTests/platform/mac/accessibility/aria-liveregions-attributes-expected.txt

    r156011 r166594  
    3333PASS accessibilityController.focusedElement.boolAttributeValue('AXElementBusy') is false
    3434PASS accessibilityController.focusedElement.stringAttributeValue('AXARIARelevant') is 'additions text'
     35PASS accessibilityController.focusedElement.stringAttributeValue('AXARIALive') is 'assertive'
     36PASS accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic') is true
     37PASS accessibilityController.focusedElement.stringAttributeValue('AXARIALive') is 'polite'
     38PASS accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic') is true
     39PASS accessibilityController.focusedElement.stringAttributeValue('AXARIALive') is 'polite'
     40PASS accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic') is false
     41PASS accessibilityController.focusedElement.isAttributeSupported('AXARIALive') is false
     42PASS accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic') is false
     43PASS accessibilityController.focusedElement.isAttributeSupported('AXARIALive') is false
     44PASS accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic') is false
    3545PASS successfullyParsed is true
    3646
  • trunk/LayoutTests/platform/mac/accessibility/aria-liveregions-attributes.html

    r156011 r166594  
    2222</div>
    2323
    24 <div tabindex=0 id="liveregion2" role="group" aria-live="polite">
    25 </div>
     24<div tabindex=0 id="liveregion2" role="group" aria-live="polite"></div>
     25
     26<!-- Default live region values per role. -->
     27<div tabindex=0 id="liveregion_alert" role="alert"><!-- atomic=true, live=assertive --></div>
     28<div tabindex=0 id="liveregion_status" role="status"><!-- atomic=true, live=polite --></div>
     29<div tabindex=0 id="liveregion_log" role="log"><!-- atomic=false, live=polite --></div>
     30<div tabindex=0 id="liveregion_timer" role="timer"><!-- atomic=false, live=off --></div>
     31<div tabindex=0 id="liveregion_marquee" role="marquee"><!-- atomic=false, live=off --></div>
    2632
    2733<p id="description"></p>
     
    7379          shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXARIARelevant')", "'additions text'");
    7480 
     81          document.getElementById("liveregion_alert").focus();
     82          shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXARIALive')", "'assertive'");
     83          shouldBe("accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic')", "true");
     84
     85          document.getElementById("liveregion_status").focus();
     86          shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXARIALive')", "'polite'");
     87          shouldBe("accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic')", "true");
     88
     89          document.getElementById("liveregion_log").focus();
     90          shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXARIALive')", "'polite'");
     91          shouldBe("accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic')", "false");
     92
     93          document.getElementById("liveregion_timer").focus();
     94          shouldBe("accessibilityController.focusedElement.isAttributeSupported('AXARIALive')", "false");
     95          shouldBe("accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic')", "false");
     96
     97          document.getElementById("liveregion_marquee").focus();
     98          shouldBe("accessibilityController.focusedElement.isAttributeSupported('AXARIALive')", "false");
     99          shouldBe("accessibilityController.focusedElement.boolAttributeValue('AXARIAAtomic')", "false");
     100
    75101    }
    76102
  • trunk/Source/WebCore/ChangeLog

    r166590 r166594  
     12014-04-01  James Craig  <jcraig@apple.com>
     2
     3        AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if
     4        roleValue is ApplicationAlertRole || ApplicationStatusRole
     5        https://bugs.webkit.org/show_bug.cgi?id=130907
     6
     7        Reviewed by Chris Fleizach.
     8
     9        Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
     10               platform/mac/accessibility/aria-liveregions-attributes.html:
     11
     12        Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.
     13
     14        * accessibility/AccessibilityRenderObject.cpp:
     15        (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
     16
    1172014-04-01  Zan Dobersek  <zdobersek@igalia.com>
    218
  • trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp

    r166194 r166594  
    30913091bool AccessibilityRenderObject::ariaLiveRegionAtomic() const
    30923092{
    3093     return elementAttributeValue(aria_atomicAttr);   
     3093    const AtomicString& atomic = getAttribute(aria_atomicAttr);
     3094    if (equalIgnoringCase(atomic, "true"))
     3095        return true;
     3096    if (equalIgnoringCase(atomic, "false"))
     3097        return false;
     3098    // WAI-ARIA "alert" and "status" roles have an implicit aria-atomic value of true.
     3099    switch (roleValue()) {
     3100    case ApplicationAlertRole:
     3101    case ApplicationStatusRole:
     3102        return true;
     3103    default:
     3104        return false;
     3105    }
    30943106}
    30953107
Note: See TracChangeset for help on using the changeset viewer.