| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012, Google Inc. All rights reserved. | 2 * Copyright (C) 2012, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 class HTMLLabelElement; | 40 class HTMLLabelElement; |
| 41 class LayoutRect; | 41 class LayoutRect; |
| 42 class Node; | 42 class Node; |
| 43 | 43 |
| 44 class MODULES_EXPORT AXNodeObject : public AXObject { | 44 class MODULES_EXPORT AXNodeObject : public AXObject { |
| 45 protected: | 45 protected: |
| 46 AXNodeObject(Node*, AXObjectCacheImpl&); | 46 AXNodeObject(Node*, AXObjectCacheImpl&); |
| 47 | 47 |
| 48 public: | 48 public: |
| 49 static PassRefPtrWillBeRawPtr<AXNodeObject> create(Node*, AXObjectCacheImpl&
); | 49 static PassRefPtrWillBeRawPtr<AXNodeObject> create(Node*, AXObjectCacheImpl&
); |
| 50 virtual ~AXNodeObject(); | 50 ~AXNodeObject() override; |
| 51 DECLARE_VIRTUAL_TRACE(); | 51 DECLARE_VIRTUAL_TRACE(); |
| 52 | 52 |
| 53 protected: | 53 protected: |
| 54 // Protected data. | 54 // Protected data. |
| 55 AccessibilityRole m_ariaRole; | 55 AccessibilityRole m_ariaRole; |
| 56 bool m_childrenDirty; | 56 bool m_childrenDirty; |
| 57 #if ENABLE(ASSERT) | 57 #if ENABLE(ASSERT) |
| 58 bool m_initialized; | 58 bool m_initialized; |
| 59 #endif | 59 #endif |
| 60 | 60 |
| 61 virtual bool computeAccessibilityIsIgnored(IgnoredReasons* = nullptr) const
override; | 61 bool computeAccessibilityIsIgnored(IgnoredReasons* = nullptr) const override
; |
| 62 virtual const AXObject* inheritsPresentationalRoleFrom() const override; | 62 const AXObject* inheritsPresentationalRoleFrom() const override; |
| 63 virtual AccessibilityRole determineAccessibilityRole(); | 63 virtual AccessibilityRole determineAccessibilityRole(); |
| 64 AccessibilityRole determineAccessibilityRoleUtil(); | 64 AccessibilityRole determineAccessibilityRoleUtil(); |
| 65 String accessibilityDescriptionForElements(WillBeHeapVector<RawPtrWillBeMemb
er<Element>> &elements) const; | 65 String accessibilityDescriptionForElements(WillBeHeapVector<RawPtrWillBeMemb
er<Element>> &elements) const; |
| 66 void alterSliderValue(bool increase); | 66 void alterSliderValue(bool increase); |
| 67 String ariaAccessibilityDescription() const; | 67 String ariaAccessibilityDescription() const; |
| 68 String ariaAutoComplete() const; | 68 String ariaAutoComplete() const; |
| 69 void ariaLabeledByElements(WillBeHeapVector<RawPtrWillBeMember<Element>>& el
ements) const; | 69 void ariaLabeledByElements(WillBeHeapVector<RawPtrWillBeMember<Element>>& el
ements) const; |
| 70 AccessibilityRole determineAriaRoleAttribute() const; | 70 AccessibilityRole determineAriaRoleAttribute() const; |
| 71 void tokenVectorFromAttribute(Vector<String>&, const QualifiedName&) const; | 71 void tokenVectorFromAttribute(Vector<String>&, const QualifiedName&) const; |
| 72 void elementsFromAttribute(WillBeHeapVector<RawPtrWillBeMember<Element>>& el
ements, const QualifiedName&) const; | 72 void elementsFromAttribute(WillBeHeapVector<RawPtrWillBeMember<Element>>& el
ements, const QualifiedName&) const; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 85 AccessibilityRole remapAriaRoleDueToParent(AccessibilityRole) const; | 85 AccessibilityRole remapAriaRoleDueToParent(AccessibilityRole) const; |
| 86 bool isNativeCheckboxOrRadio() const; | 86 bool isNativeCheckboxOrRadio() const; |
| 87 void setNode(Node*); | 87 void setNode(Node*); |
| 88 AXObject* correspondingControlForLabelElement() const; | 88 AXObject* correspondingControlForLabelElement() const; |
| 89 HTMLLabelElement* labelElementContainer() const; | 89 HTMLLabelElement* labelElementContainer() const; |
| 90 | 90 |
| 91 // | 91 // |
| 92 // Overridden from AXObject. | 92 // Overridden from AXObject. |
| 93 // | 93 // |
| 94 | 94 |
| 95 virtual void init() override; | 95 void init() override; |
| 96 virtual void detach() override; | 96 void detach() override; |
| 97 virtual bool isDetached() const override { return !m_node; } | 97 bool isDetached() const override { return !m_node; } |
| 98 virtual bool isAXNodeObject() const override final { return true; } | 98 bool isAXNodeObject() const final { return true; } |
| 99 | 99 |
| 100 // Check object role or purpose. | 100 // Check object role or purpose. |
| 101 virtual bool isAnchor() const override final; | 101 bool isAnchor() const final; |
| 102 virtual bool isControl() const override; | 102 bool isControl() const override; |
| 103 bool isControllingVideoElement() const; | 103 bool isControllingVideoElement() const; |
| 104 virtual bool isEmbeddedObject() const override final; | 104 bool isEmbeddedObject() const final; |
| 105 virtual bool isFieldset() const override final; | 105 bool isFieldset() const final; |
| 106 virtual bool isHeading() const override final; | 106 bool isHeading() const final; |
| 107 virtual bool isHovered() const override final; | 107 bool isHovered() const final; |
| 108 virtual bool isImage() const override final; | 108 bool isImage() const final; |
| 109 bool isImageButton() const; | 109 bool isImageButton() const; |
| 110 virtual bool isInputImage() const override final; | 110 bool isInputImage() const final; |
| 111 virtual bool isLink() const override final; | 111 bool isLink() const final; |
| 112 virtual bool isMenu() const override final; | 112 bool isMenu() const final; |
| 113 virtual bool isMenuButton() const override final; | 113 bool isMenuButton() const final; |
| 114 virtual bool isMeter() const override final; | 114 bool isMeter() const final; |
| 115 virtual bool isMultiSelectable() const override; | 115 bool isMultiSelectable() const override; |
| 116 bool isNativeImage() const; | 116 bool isNativeImage() const; |
| 117 virtual bool isNativeTextControl() const override final; | 117 bool isNativeTextControl() const final; |
| 118 virtual bool isNonNativeTextControl() const override final; | 118 bool isNonNativeTextControl() const final; |
| 119 virtual bool isPasswordField() const override final; | 119 bool isPasswordField() const final; |
| 120 virtual bool isProgressIndicator() const override; | 120 bool isProgressIndicator() const override; |
| 121 virtual bool isSlider() const override; | 121 bool isSlider() const override; |
| 122 virtual bool isNativeSlider() const override; | 122 bool isNativeSlider() const override; |
| 123 | 123 |
| 124 // Check object state. | 124 // Check object state. |
| 125 virtual bool isChecked() const override final; | 125 bool isChecked() const final; |
| 126 virtual bool isClickable() const override final; | 126 bool isClickable() const final; |
| 127 virtual bool isEnabled() const override; | 127 bool isEnabled() const override; |
| 128 virtual AccessibilityExpanded isExpanded() const override; | 128 AccessibilityExpanded isExpanded() const override; |
| 129 virtual bool isIndeterminate() const override final; | 129 bool isIndeterminate() const final; |
| 130 virtual bool isPressed() const override final; | 130 bool isPressed() const final; |
| 131 virtual bool isReadOnly() const override; | 131 bool isReadOnly() const override; |
| 132 virtual bool isRequired() const override final; | 132 bool isRequired() const final; |
| 133 | 133 |
| 134 // Check whether certain properties can be modified. | 134 // Check whether certain properties can be modified. |
| 135 virtual bool canSetFocusAttribute() const override; | 135 bool canSetFocusAttribute() const override; |
| 136 virtual bool canSetValueAttribute() const override; | 136 bool canSetValueAttribute() const override; |
| 137 | 137 |
| 138 // Properties of static elements. | 138 // Properties of static elements. |
| 139 virtual RGBA32 colorValue() const override final; | 139 RGBA32 colorValue() const final; |
| 140 virtual bool canvasHasFallbackContent() const override final; | 140 bool canvasHasFallbackContent() const final; |
| 141 virtual bool deprecatedExposesTitleUIElement() const override; | 141 bool deprecatedExposesTitleUIElement() const override; |
| 142 virtual int headingLevel() const override final; | 142 int headingLevel() const final; |
| 143 virtual unsigned hierarchicalLevel() const override final; | 143 unsigned hierarchicalLevel() const final; |
| 144 virtual String text() const override; | 144 String text() const override; |
| 145 virtual AXObject* deprecatedTitleUIElement() const override; | 145 AXObject* deprecatedTitleUIElement() const override; |
| 146 | 146 |
| 147 // Properties of interactive elements. | 147 // Properties of interactive elements. |
| 148 virtual AccessibilityButtonState checkboxOrRadioValue() const override final
; | 148 AccessibilityButtonState checkboxOrRadioValue() const final; |
| 149 virtual InvalidState invalidState() const override final; | 149 InvalidState invalidState() const final; |
| 150 // Only used when invalidState() returns InvalidStateOther. | 150 // Only used when invalidState() returns InvalidStateOther. |
| 151 virtual String ariaInvalidValue() const override final; | 151 String ariaInvalidValue() const final; |
| 152 virtual String valueDescription() const override; | 152 String valueDescription() const override; |
| 153 virtual float valueForRange() const override; | 153 float valueForRange() const override; |
| 154 virtual float maxValueForRange() const override; | 154 float maxValueForRange() const override; |
| 155 virtual float minValueForRange() const override; | 155 float minValueForRange() const override; |
| 156 virtual String stringValue() const override; | 156 String stringValue() const override; |
| 157 | 157 |
| 158 // ARIA attributes. | 158 // ARIA attributes. |
| 159 virtual String ariaDescribedByAttribute() const override final; | 159 String ariaDescribedByAttribute() const final; |
| 160 virtual String ariaLabeledByAttribute() const override final; | 160 String ariaLabeledByAttribute() const final; |
| 161 virtual AccessibilityRole ariaRoleAttribute() const override final; | 161 AccessibilityRole ariaRoleAttribute() const final; |
| 162 | 162 |
| 163 // Accessibility Text. | 163 // Accessibility Text. |
| 164 virtual String deprecatedTextUnderElement(TextUnderElementMode) const overri
de; | 164 String deprecatedTextUnderElement(TextUnderElementMode) const override; |
| 165 virtual String deprecatedAccessibilityDescription() const override; | 165 String deprecatedAccessibilityDescription() const override; |
| 166 virtual String deprecatedTitle(TextUnderElementMode) const override; | 166 String deprecatedTitle(TextUnderElementMode) const override; |
| 167 virtual String deprecatedHelpText() const override; | 167 String deprecatedHelpText() const override; |
| 168 virtual String computedName() const override; | 168 String computedName() const override; |
| 169 | 169 |
| 170 // New AX name calculation. | 170 // New AX name calculation. |
| 171 virtual String textAlternative(bool recursive, bool inAriaLabelledByTraversa
l, WillBeHeapHashSet<RawPtrWillBeMember<AXObject>>& visited, AXNameFrom*, WillBe
HeapVector<RawPtrWillBeMember<AXObject>>* nameObjects) override; | 171 String textAlternative(bool recursive, bool inAriaLabelledByTraversal, WillB
eHeapHashSet<RawPtrWillBeMember<AXObject>>& visited, AXNameFrom*, WillBeHeapVect
or<RawPtrWillBeMember<AXObject>>* nameObjects) override; |
| 172 | 172 |
| 173 // Location and click point in frame-relative coordinates. | 173 // Location and click point in frame-relative coordinates. |
| 174 virtual LayoutRect elementRect() const override; | 174 LayoutRect elementRect() const override; |
| 175 | 175 |
| 176 // High-level accessibility tree access. | 176 // High-level accessibility tree access. |
| 177 virtual AXObject* computeParent() const override; | 177 AXObject* computeParent() const override; |
| 178 virtual AXObject* computeParentIfExists() const override; | 178 AXObject* computeParentIfExists() const override; |
| 179 | 179 |
| 180 // Low-level accessibility tree exploration. | 180 // Low-level accessibility tree exploration. |
| 181 virtual AXObject* firstChild() const override; | 181 AXObject* firstChild() const override; |
| 182 virtual AXObject* nextSibling() const override; | 182 AXObject* nextSibling() const override; |
| 183 virtual void addChildren() override; | 183 void addChildren() override; |
| 184 virtual bool canHaveChildren() const override; | 184 bool canHaveChildren() const override; |
| 185 void addChild(AXObject*); | 185 void addChild(AXObject*); |
| 186 void insertChild(AXObject*, unsigned index); | 186 void insertChild(AXObject*, unsigned index); |
| 187 | 187 |
| 188 // DOM and Render tree access. | 188 // DOM and Render tree access. |
| 189 virtual Element* actionElement() const override final; | 189 Element* actionElement() const final; |
| 190 virtual Element* anchorElement() const override; | 190 Element* anchorElement() const override; |
| 191 virtual Document* document() const override; | 191 Document* document() const override; |
| 192 virtual Node* node() const override { return m_node; } | 192 Node* node() const override { return m_node; } |
| 193 | 193 |
| 194 // Modify or take an action on an object. | 194 // Modify or take an action on an object. |
| 195 virtual void setFocused(bool) override final; | 195 void setFocused(bool) final; |
| 196 virtual void increment() override final; | 196 void increment() final; |
| 197 virtual void decrement() override final; | 197 void decrement() final; |
| 198 | 198 |
| 199 // Notifications that this object may have changed. | 199 // Notifications that this object may have changed. |
| 200 virtual void childrenChanged() override; | 200 void childrenChanged() override; |
| 201 virtual void selectionChanged() override final; | 201 void selectionChanged() final; |
| 202 virtual void textChanged() override; | 202 void textChanged() override; |
| 203 virtual void updateAccessibilityRole() override final; | 203 void updateAccessibilityRole() final; |
| 204 | 204 |
| 205 // Position in set and Size of set | 205 // Position in set and Size of set |
| 206 virtual int posInSet() const override; | 206 int posInSet() const override; |
| 207 virtual int setSize() const override; | 207 int setSize() const override; |
| 208 | 208 |
| 209 // Aria-owns. | 209 // Aria-owns. |
| 210 void computeAriaOwnsChildren(Vector<AXObject*>& ownedChildren); | 210 void computeAriaOwnsChildren(Vector<AXObject*>& ownedChildren); |
| 211 | 211 |
| 212 private: | 212 private: |
| 213 RawPtrWillBeMember<Node> m_node; | 213 RawPtrWillBeMember<Node> m_node; |
| 214 | 214 |
| 215 String alternativeTextForWebArea() const; | 215 String alternativeTextForWebArea() const; |
| 216 void alternativeText(WillBeHeapVector<OwnPtrWillBeMember<AccessibilityText>>
&) const; | 216 void alternativeText(WillBeHeapVector<OwnPtrWillBeMember<AccessibilityText>>
&) const; |
| 217 void ariaLabeledByText(WillBeHeapVector<OwnPtrWillBeMember<AccessibilityText
>>&) const; | 217 void ariaLabeledByText(WillBeHeapVector<OwnPtrWillBeMember<AccessibilityText
>>&) const; |
| 218 float stepValueForRange() const; | 218 float stepValueForRange() const; |
| 219 AXObject* findChildWithTagName(const HTMLQualifiedName&) const; | 219 AXObject* findChildWithTagName(const HTMLQualifiedName&) const; |
| 220 bool isDescendantOfElementType(const HTMLQualifiedName& tagName) const; | 220 bool isDescendantOfElementType(const HTMLQualifiedName& tagName) const; |
| 221 }; | 221 }; |
| 222 | 222 |
| 223 DEFINE_AX_OBJECT_TYPE_CASTS(AXNodeObject, isAXNodeObject()); | 223 DEFINE_AX_OBJECT_TYPE_CASTS(AXNodeObject, isAXNodeObject()); |
| 224 | 224 |
| 225 } // namespace blink | 225 } // namespace blink |
| 226 | 226 |
| 227 #endif // AXNodeObject_h | 227 #endif // AXNodeObject_h |
| OLD | NEW |