Changeset 155603 in webkit


Ignore:
Timestamp:
Sep 12, 2013 3:24:52 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

<meter> element text value exposed as AXTitle; should be exposing AXValueDescription
https://bugs.webkit.org/show_bug.cgi?id=117651

Patch by Samuel White <Samuel White> on 2013-09-12
Reviewed by Mario Sanchez Prada.

Source/WebCore:

No new tests, updated accessibility/meter-element to handle platform specific output.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isMeter):

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

Prepended 'AXValueDescription: ' to valueDescription output and updated impacted tests.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::valueDescription):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::valueDescription):

LayoutTests:

Updated existing meter element test to cover platform specific output.

  • accessibility/meter-element.html:
  • platform/mac/accessibility/aria-valuetext-on-native-slider-expected.txt:
  • platform/mac/accessibility/aria-valuetext-on-native-slider.html:
  • platform/mac/accessibility/aria-valuetext.html:
  • platform/mac/accessibility/meter-element-expected.txt: Renamed from LayoutTests/accessibility/meter-element-expected.txt.
  • platform/mac/accessibility/spinbutton-valuedescription-expected.txt:
  • platform/mac/accessibility/spinbutton-valuedescription.html:
Location:
trunk
Files:
14 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r155601 r155603  
     12013-09-12  Samuel White  <samuel_white@apple.com>
     2
     3        <meter> element text value exposed as AXTitle; should be exposing AXValueDescription
     4        https://bugs.webkit.org/show_bug.cgi?id=117651
     5
     6        Reviewed by Mario Sanchez Prada.
     7
     8        Updated existing meter element test to cover platform specific output.
     9
     10        * accessibility/meter-element.html:
     11        * platform/mac/accessibility/aria-valuetext-on-native-slider-expected.txt:
     12        * platform/mac/accessibility/aria-valuetext-on-native-slider.html:
     13        * platform/mac/accessibility/aria-valuetext.html:
     14        * platform/mac/accessibility/meter-element-expected.txt: Renamed from LayoutTests/accessibility/meter-element-expected.txt.
     15        * platform/mac/accessibility/spinbutton-valuedescription-expected.txt:
     16        * platform/mac/accessibility/spinbutton-valuedescription.html:
     17
    1182013-09-12  Samuel White  <samuel_white@apple.com>
    219
  • trunk/LayoutTests/accessibility/meter-element.html

    r155274 r155603  
    1717<script>
    1818
    19 description("This tests that the <meter> element is accessible.")
     19description("This tests that the meter element is accessible.");
    2020
    2121if (window.testRunner && window.accessibilityController) {
     
    2626        debug(meter.title);
    2727        debug(meter.description);
     28        debug(meter.valueDescription);
    2829        debug("\n");
    2930    }
  • trunk/LayoutTests/platform/mac/accessibility/aria-valuetext-on-native-slider-expected.txt

    r148522 r155603  
    55
    66
    7 PASS range.valueDescription is 'hello'
     7PASS range.valueDescription is 'AXValueDescription: hello'
    88PASS successfullyParsed is true
    99
  • trunk/LayoutTests/platform/mac/accessibility/aria-valuetext-on-native-slider.html

    r155282 r155603  
    1616    if (window.accessibilityController) {
    1717          var range = accessibilityController.accessibleElementById("range");
    18           shouldBe("range.valueDescription", "'hello'");
     18          shouldBe("range.valueDescription", "'AXValueDescription: hello'");
    1919    }
    2020
  • trunk/LayoutTests/platform/mac/accessibility/aria-valuetext.html

    r155282 r155603  
    2020          document.getElementById("body").focus();
    2121          var obj = accessibilityController.focusedElement.childAtIndex(0);
    22           var succeeded = obj.valueDescription == "MAX";
     22          var succeeded = obj.valueDescription == "AXValueDescription: MAX";
    2323          shouldBe("succeeded", "true");
    2424    }
  • trunk/LayoutTests/platform/mac/accessibility/meter-element-expected.txt

    r155602 r155603  
    1 This tests that the
     1This tests that the meter element is accessible.
    22
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     
    66Meter1
    77AXRole: AXProgressIndicator
    8 AXTitle: 6 blocks used (out of 8 total)
     8AXTitle:
    99AXDescription:
     10AXValueDescription: 6 blocks used (out of 8 total)
    1011
    1112
    1213Meter2
    1314AXRole: AXProgressIndicator
    14 AXTitle: 75%
     15AXTitle:
    1516AXDescription:
     17AXValueDescription: 75%
    1618
    1719
     
    2022AXTitle:
    2123AXDescription:
     24AXValueDescription:
    2225
    2326
    2427Meter4
    2528AXRole: AXProgressIndicator
    26 AXTitle: 12cm
     29AXTitle:
    2730AXDescription:
     31AXValueDescription: 12cm
    2832
    2933
    3034Meter5
    3135AXRole: AXProgressIndicator
    32 AXTitle: 2cm
     36AXTitle:
    3337AXDescription:
     38AXValueDescription: 2cm
    3439
    3540
    3641Meter6
    3742AXRole: AXProgressIndicator
    38 AXTitle: 12cm
     43AXTitle:
    3944AXDescription:
     45AXValueDescription: 12cm
    4046
    4147
    4248Meter7
    4349AXRole: AXProgressIndicator
    44 AXTitle: 2cm
     50AXTitle:
    4551AXDescription:
     52AXValueDescription: 2cm
    4653
    4754
  • trunk/LayoutTests/platform/mac/accessibility/spinbutton-valuedescription-expected.txt

    r155059 r155603  
    55
    66
    7 PASS spin.valueDescription is 'Monday'
     7PASS spin.valueDescription is 'AXValueDescription: Monday'
    88PASS spin.stringValue is 'AXValue: 4'
    99PASS spin.minValue is 1
  • trunk/LayoutTests/platform/mac/accessibility/spinbutton-valuedescription.html

    r155282 r155603  
    1818
    1919          var spin = accessibilityController.accessibleElementById("spin");
    20           shouldBe("spin.valueDescription", "'Monday'");
     20          shouldBe("spin.valueDescription", "'AXValueDescription: Monday'");
    2121          shouldBe("spin.stringValue", "'AXValue: 4'");
    2222          shouldBe("spin.minValue", "1");
  • trunk/Source/WebCore/ChangeLog

    r155602 r155603  
     12013-09-12  Samuel White  <samuel_white@apple.com>
     2
     3        <meter> element text value exposed as AXTitle; should be exposing AXValueDescription
     4        https://bugs.webkit.org/show_bug.cgi?id=117651
     5
     6        Reviewed by Mario Sanchez Prada.
     7
     8        No new tests, updated accessibility/meter-element to handle platform specific output.
     9
     10        * accessibility/AccessibilityObject.cpp:
     11        (WebCore::AccessibilityObject::isMeter):
     12        * accessibility/AccessibilityObject.h:
     13        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
     14        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
     15
    1162013-09-12  Santosh Mahto  <santosh.ma@samsung.com>
    217
  • trunk/Source/WebCore/accessibility/AccessibilityObject.cpp

    r155492 r155603  
    536536        return false;
    537537    }
     538}
     539
     540bool AccessibilityObject::isMeter() const
     541{
     542#if ENABLE(METER_ELEMENT)
     543    RenderObject* renderer = this->renderer();
     544    return renderer && renderer->isMeter();
     545#else
     546    return false;
     547#endif
    538548}
    539549
  • trunk/Source/WebCore/accessibility/AccessibilityObject.h

    r155492 r155603  
    470470    bool isColorWell() const { return roleValue() == ColorWellRole; }
    471471    bool isRangeControl() const;
     472    bool isMeter() const;
    472473
    473474    virtual bool isChecked() const { return false; }
  • trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

    r155505 r155603  
    21602160        }
    21612161       
     2162        // Meter elements should communicate their content via AXValueDescription.
     2163        if (m_object->isMeter())
     2164            return [NSString string];
     2165       
    21622166        return [self accessibilityTitle];
    21632167    }
     
    25172521    }
    25182522   
    2519     if ([attributeName isEqualToString:NSAccessibilityValueDescriptionAttribute])
     2523    if ([attributeName isEqualToString:NSAccessibilityValueDescriptionAttribute]) {
     2524        if (m_object->isMeter())
     2525            return [self accessibilityTitle];
     2526       
    25202527        return m_object->valueDescription();
     2528    }
    25212529   
    25222530    if ([attributeName isEqualToString:NSAccessibilityOrientationAttribute]) {
  • trunk/Tools/ChangeLog

    r155599 r155603  
     12013-09-12  Samuel White  <samuel_white@apple.com>
     2
     3        <meter> element text value exposed as AXTitle; should be exposing AXValueDescription
     4        https://bugs.webkit.org/show_bug.cgi?id=117651
     5
     6        Reviewed by Mario Sanchez Prada.
     7
     8        Prepended 'AXValueDescription: ' to valueDescription output and updated impacted tests.
     9
     10        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
     11        (AccessibilityUIElement::valueDescription):
     12        * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
     13        (WTR::AccessibilityUIElement::valueDescription):
     14
    1152013-09-12  Denis Nomiyama  <d.nomiyama@samsung.com>
    216
  • trunk/Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm

    r155458 r155603  
    659659    NSString* valueDescription = [m_element accessibilityAttributeValue:NSAccessibilityValueDescriptionAttribute];
    660660    if ([valueDescription isKindOfClass:[NSString class]])
    661          return [valueDescription createJSStringRef];
    662 
    663     END_AX_OBJC_EXCEPTIONS
     661        return concatenateAttributeAndValue(@"AXValueDescription", valueDescription);
     662    END_AX_OBJC_EXCEPTIONS
     663   
    664664    return 0;
    665665}
  • trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm

    r155458 r155603  
    670670    NSString* valueDescription = [m_element accessibilityAttributeValue:NSAccessibilityValueDescriptionAttribute];
    671671    if ([valueDescription isKindOfClass:[NSString class]])
    672          return [valueDescription createJSStringRef];
    673 
    674     END_AX_OBJC_EXCEPTIONS
     672        return concatenateAttributeAndValue(@"AXValueDescription", valueDescription);
     673    END_AX_OBJC_EXCEPTIONS
     674   
    675675    return 0;
    676676}
Note: See TracChangeset for help on using the changeset viewer.