diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
commit | 284837daa07b29d6a63a748544a90b1f5842ac5c (patch) | |
tree | ecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/WebCore/accessibility/AccessibilityObject.cpp | |
parent | 2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff) | |
download | qtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz |
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/WebCore/accessibility/AccessibilityObject.cpp')
-rw-r--r-- | Source/WebCore/accessibility/AccessibilityObject.cpp | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp index f867ec3ee..a5330684e 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp @@ -1294,6 +1294,19 @@ const AtomicString& AccessibilityObject::invalidStatus() const return ariaInvalid; } +bool AccessibilityObject::hasAttribute(const QualifiedName& attribute) const +{ + Node* elementNode = node(); + if (!elementNode) + return false; + + if (!elementNode->isElementNode()) + return false; + + Element* element = static_cast<Element*>(elementNode); + return element->fastHasAttribute(attribute); +} + const AtomicString& AccessibilityObject::getAttribute(const QualifiedName& attribute) const { Node* elementNode = node(); @@ -1340,6 +1353,15 @@ bool AccessibilityObject::isAncestorOfObject(const AccessibilityObject* axObject return this == axObject || axObject->isDescendantOfObject(this); } +AccessibilityObject* AccessibilityObject::firstAnonymousBlockChild() const +{ + for (AccessibilityObject* child = firstChild(); child; child = child->nextSibling()) { + if (child->renderer() && child->renderer()->isAnonymousBlock()) + return child; + } + return 0; +} + typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap; struct RoleEntry { @@ -1474,7 +1496,12 @@ bool AccessibilityObject::isInsideARIALiveRegion() const bool AccessibilityObject::supportsARIAAttributes() const { - return supportsARIALiveRegion() || supportsARIADragging() || supportsARIADropping() || supportsARIAFlowTo() || supportsARIAOwns(); + return supportsARIALiveRegion() + || supportsARIADragging() + || supportsARIADropping() + || supportsARIAFlowTo() + || supportsARIAOwns() + || hasAttribute(aria_labelAttr); } bool AccessibilityObject::supportsARIALiveRegion() const @@ -1534,6 +1561,14 @@ AccessibilitySortDirection AccessibilityObject::sortDirection() const return SortDirectionNone; } + +bool AccessibilityObject::supportsRangeValue() const +{ + return isProgressIndicator() + || isSlider() + || isScrollbar() + || isSpinButton(); +} bool AccessibilityObject::supportsARIAExpanded() const { |