Changeset 64088 in webkit


Ignore:
Timestamp:
Jul 26, 2010 4:33:31 PM (14 years ago)
Author:
Chris Fleizach
Message:

AX: Safari does not support ARIA mixed checkboxes
https://bugs.webkit.org/show_bug.cgi?id=43016

Reviewed by Darin Adler.

WebCore:

Test: platform/mac/accessibility/mixed-checkbox.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::checkboxOrRadioValue):

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

(WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
(WebCore::AccessibilityRenderObject::checkboxOrRadioValue):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/mac/AccessibilityObjectWrapper.mm:

(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • platform/mac/accessibility/mixed-checkbox-expected.txt: Added.
  • platform/mac/accessibility/mixed-checkbox.html: Added.
Location:
trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r64087 r64088  
     12010-07-26  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        AX: Safari does not support ARIA mixed checkboxes
     6        https://bugs.webkit.org/show_bug.cgi?id=43016
     7
     8        * platform/mac/accessibility/mixed-checkbox-expected.txt: Added.
     9        * platform/mac/accessibility/mixed-checkbox.html: Added.
     10
    1112010-07-26  Shimeng (Simon) Wang  <swang@google.com>
    212
  • trunk/WebCore/ChangeLog

    r64087 r64088  
     12010-07-26  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        AX: Safari does not support ARIA mixed checkboxes
     6        https://bugs.webkit.org/show_bug.cgi?id=43016
     7
     8        Test: platform/mac/accessibility/mixed-checkbox.html
     9
     10        * accessibility/AccessibilityObject.cpp:
     11        (WebCore::AccessibilityObject::checkboxOrRadioValue):
     12        * accessibility/AccessibilityObject.h:
     13        * accessibility/AccessibilityRenderObject.cpp:
     14        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
     15        (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
     16        * accessibility/AccessibilityRenderObject.h:
     17        * accessibility/mac/AccessibilityObjectWrapper.mm:
     18        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
     19
    1202010-07-26  Shimeng (Simon) Wang  <swang@google.com>
    221
  • trunk/WebCore/accessibility/AccessibilityObject.cpp

    r64084 r64088  
    986986    if (equalIgnoringCase(result, "true"))
    987987        return ButtonStateOn;
     988    if (equalIgnoringCase(result, "mixed"))
     989        return ButtonStateMixed;
    988990   
    989991    return ButtonStateOff;
  • trunk/WebCore/accessibility/AccessibilityObject.h

    r64084 r64088  
    214214    ButtonStateOff = 0,
    215215    ButtonStateOn,
     216    ButtonStateMixed,
    216217};
    217218
  • trunk/WebCore/accessibility/AccessibilityRenderObject.cpp

    r64084 r64088  
    570570}
    571571
     572bool AccessibilityRenderObject::isNativeCheckboxOrRadio() const
     573{
     574    Node* elementNode = node();
     575    if (elementNode && elementNode->isElementNode())
     576        return toInputElement(static_cast<Element*>(elementNode));
     577   
     578    return false;
     579}
     580   
    572581bool AccessibilityRenderObject::isChecked() const
    573582{
     
    10121021AccessibilityButtonState AccessibilityRenderObject::checkboxOrRadioValue() const
    10131022{
    1014     return isChecked() ? ButtonStateOn : ButtonStateOff;
     1023    if (isNativeCheckboxOrRadio())
     1024        return isChecked() ? ButtonStateOn : ButtonStateOff;
     1025   
     1026    return AccessibilityObject::checkboxOrRadioValue();
    10151027}
    10161028
  • trunk/WebCore/accessibility/AccessibilityRenderObject.h

    r64084 r64088  
    284284
    285285    bool isTabItemSelected() const;
     286    bool isNativeCheckboxOrRadio() const;
    286287    IntRect checkboxOrRadioRect() const;
    287288    void addRadioButtonGroupMembers(AccessibilityChildrenVector& linkedUIElements) const;
  • trunk/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm

    r64084 r64088  
    15251525            case ButtonStateOn:
    15261526                return [NSNumber numberWithInt:1];
     1527            case ButtonStateMixed:
     1528                return [NSNumber numberWithInt:2];
    15271529            }
    15281530        }
Note: See TracChangeset for help on using the changeset viewer.