https://bugs.webkit.org/show_bug.cgi?id=109322
Reviewed by Chris Fleizach.
There's some benefit to caching accessibilityIsIgnored
(using AXComputedObjectAttributeCache) for more than just
AXRenderObject, so move the caching code to AXObject.
AXObject now has a protected virtual method
computeAccessibilityIsIgnored, and all subclasses
override that instead.
No new tests.
* accessibility/AccessibilityImageMapLink.h:
(AccessibilityImageMapLink):
(WebCore::AccessibilityImageMapLink::computeAccessibilityIsIgnored):
* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::computeAccessibilityIsIgnored):
* accessibility/AccessibilityList.h:
(AccessibilityList):
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::computeAccessibilityIsIgnored):
* accessibility/AccessibilityListBox.h:
(AccessibilityListBox):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
* accessibility/AccessibilityListBoxOption.h:
(AccessibilityListBoxOption):
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
(WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
* accessibility/AccessibilityMediaControls.h:
(AccessibilityMediaControl):
(WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
(AccessibilityMediaTimeDisplay):
* accessibility/AccessibilityMenuList.h:
(WebCore::AccessibilityMenuList::computeAccessibilityIsIgnored):
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
* accessibility/AccessibilityMenuListOption.h:
(AccessibilityMenuListOption):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
* accessibility/AccessibilityMenuListPopup.h:
(AccessibilityMenuListPopup):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibilityIsIgnored):
(WebCore):
* accessibility/AccessibilityObject.h:
(AccessibilityObject):
(WebCore::AccessibilityObject::computeAccessibilityIsIgnored):
* accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
* accessibility/AccessibilityProgressIndicator.h:
(AccessibilityProgressIndicator):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored):
* accessibility/AccessibilityScrollView.h:
(AccessibilityScrollView):
* accessibility/AccessibilityScrollbar.h:
(WebCore::AccessibilityScrollbar::computeAccessibilityIsIgnored):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::computeAccessibilityIsIgnored):
(WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
* accessibility/AccessibilitySlider.h:
(AccessibilitySlider):
(AccessibilitySliderThumb):
* accessibility/AccessibilitySpinButton.h:
(WebCore::AccessibilitySpinButton::computeAccessibilityIsIgnored):
(WebCore::AccessibilitySpinButtonPart::computeAccessibilityIsIgnored):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
* accessibility/AccessibilityTable.h:
(AccessibilityTable):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):
* accessibility/AccessibilityTableCell.h:
(AccessibilityTableCell):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
* accessibility/AccessibilityTableColumn.h:
(AccessibilityTableColumn):
* accessibility/AccessibilityTableHeaderContainer.cpp:
(WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
* accessibility/AccessibilityTableHeaderContainer.h:
(AccessibilityTableHeaderContainer):
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::computeAccessibilityIsIgnored):
* accessibility/AccessibilityTableRow.h:
(AccessibilityTableRow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@142382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2013-02-09 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: move isIgnored caching to AXObject
+ https://bugs.webkit.org/show_bug.cgi?id=109322
+
+ Reviewed by Chris Fleizach.
+
+ There's some benefit to caching accessibilityIsIgnored
+ (using AXComputedObjectAttributeCache) for more than just
+ AXRenderObject, so move the caching code to AXObject.
+
+ AXObject now has a protected virtual method
+ computeAccessibilityIsIgnored, and all subclasses
+ override that instead.
+
+ No new tests.
+
+ * accessibility/AccessibilityImageMapLink.h:
+ (AccessibilityImageMapLink):
+ (WebCore::AccessibilityImageMapLink::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityList.cpp:
+ (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityList.h:
+ (AccessibilityList):
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityListBox.h:
+ (AccessibilityListBox):
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityListBoxOption.h:
+ (AccessibilityListBoxOption):
+ * accessibility/AccessibilityMediaControls.cpp:
+ (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
+ (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMediaControls.h:
+ (AccessibilityMediaControl):
+ (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
+ (AccessibilityMediaTimeDisplay):
+ * accessibility/AccessibilityMenuList.h:
+ (WebCore::AccessibilityMenuList::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMenuListOption.cpp:
+ (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMenuListOption.h:
+ (AccessibilityMenuListOption):
+ * accessibility/AccessibilityMenuListPopup.cpp:
+ (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMenuListPopup.h:
+ (AccessibilityMenuListPopup):
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityNodeObject.h:
+ (AccessibilityNodeObject):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::accessibilityIsIgnored):
+ (WebCore):
+ * accessibility/AccessibilityObject.h:
+ (AccessibilityObject):
+ (WebCore::AccessibilityObject::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityProgressIndicator.cpp:
+ (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityProgressIndicator.h:
+ (AccessibilityProgressIndicator):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/AccessibilityScrollView.cpp:
+ (WebCore::AccessibilityScrollView::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityScrollView.h:
+ (AccessibilityScrollView):
+ * accessibility/AccessibilityScrollbar.h:
+ (WebCore::AccessibilityScrollbar::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore::AccessibilitySlider::computeAccessibilityIsIgnored):
+ (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilitySlider.h:
+ (AccessibilitySlider):
+ (AccessibilitySliderThumb):
+ * accessibility/AccessibilitySpinButton.h:
+ (WebCore::AccessibilitySpinButton::computeAccessibilityIsIgnored):
+ (WebCore::AccessibilitySpinButtonPart::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityTable.h:
+ (AccessibilityTable):
+ * accessibility/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityTableCell.h:
+ (AccessibilityTableCell):
+ * accessibility/AccessibilityTableColumn.cpp:
+ (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityTableColumn.h:
+ (AccessibilityTableColumn):
+ * accessibility/AccessibilityTableHeaderContainer.cpp:
+ (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityTableHeaderContainer.h:
+ (AccessibilityTableHeaderContainer):
+ * accessibility/AccessibilityTableRow.cpp:
+ (WebCore::AccessibilityTableRow::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityTableRow.h:
+ (AccessibilityTableRow):
+
2013-02-09 David Farler <dfarler@apple.com>
Make TestWebKitAPI work for iOS
virtual Node* node() const { return m_areaElement.get(); }
virtual AccessibilityRole roleValue() const;
- virtual bool accessibilityIsIgnored() const { return false; }
virtual bool isEnabled() const { return true; }
virtual Element* anchorElement() const;
virtual void accessibilityText(Vector<AccessibilityText>&);
virtual bool isImageMapLink() const { return true; }
+ virtual bool computeAccessibilityIsIgnored() const { return false; }
};
} // namespace WebCore
return adoptRef(new AccessibilityList(renderer));
}
-bool AccessibilityList::accessibilityIsIgnored() const
+bool AccessibilityList::computeAccessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
if (decision == IncludeObject)
bool isDescriptionList() const;
virtual AccessibilityRole roleValue() const { return ListRole; }
- virtual bool accessibilityIsIgnored() const;
-
+private:
+ virtual bool computeAccessibilityIsIgnored() const;
};
} // namespace WebCore
return listBoxObject;
}
-bool AccessibilityListBox::accessibilityIsIgnored() const
+bool AccessibilityListBox::computeAccessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
if (decision == IncludeObject)
private:
AccessibilityObject* listBoxOptionAccessibilityObject(HTMLElement*) const;
- virtual bool accessibilityIsIgnored() const;
+ virtual bool computeAccessibilityIsIgnored() const;
virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) const;
};
return rect;
}
-bool AccessibilityListBoxOption::accessibilityIsIgnored() const
+bool AccessibilityListBoxOption::computeAccessibilityIsIgnored() const
{
if (!m_optionElement)
return true;
void setHTMLElement(HTMLElement* element) { m_optionElement = element; }
virtual AccessibilityRole roleValue() const { return ListBoxOptionRole; }
- virtual bool accessibilityIsIgnored() const;
virtual bool isSelected() const;
virtual bool isEnabled() const;
virtual bool isSelectedOptionActive() const;
int listBoxOptionIndex() const;
IntRect listBoxOptionRect() const;
AccessibilityObject* listBoxOptionAccessibilityObject(HTMLElement*) const;
+ virtual bool computeAccessibilityIsIgnored() const;
};
} // namespace WebCore
return localizedMediaControlElementHelpText(controlTypeName());
}
-bool AccessibilityMediaControl::accessibilityIsIgnored() const
+bool AccessibilityMediaControl::computeAccessibilityIsIgnored() const
{
if (!m_renderer || !m_renderer->style() || m_renderer->style()->visibility() != VISIBLE || controlType() == MediaTimelineContainer)
return true;
return adoptRef(new AccessibilityMediaTimeDisplay(renderer));
}
-bool AccessibilityMediaTimeDisplay::accessibilityIsIgnored() const
+bool AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored() const
{
if (!m_renderer || !m_renderer->style() || m_renderer->style()->visibility() != VISIBLE)
return true;
virtual ~AccessibilityMediaControl() { }
virtual AccessibilityRole roleValue() const;
- virtual bool accessibilityIsIgnored() const;
virtual String title() const;
virtual String accessibilityDescription() const;
MediaControlElementType controlType() const;
String controlTypeName() const;
virtual void accessibilityText(Vector<AccessibilityText>&);
+ virtual bool computeAccessibilityIsIgnored() const;
};
virtual ~AccessibilityMediaControlsContainer() { }
virtual AccessibilityRole roleValue() const { return ToolbarRole; }
- virtual bool accessibilityIsIgnored() const { return false; }
virtual String helpText() const;
virtual String accessibilityDescription() const;
explicit AccessibilityMediaControlsContainer(RenderObject*);
bool controllingVideoElement() const;
const String elementTypeName() const;
+ virtual bool computeAccessibilityIsIgnored() const { return false; }
};
virtual ~AccessibilityMediaTimeDisplay() { }
virtual AccessibilityRole roleValue() const { return StaticTextRole; }
- virtual bool accessibilityIsIgnored() const;
virtual String stringValue() const;
virtual String accessibilityDescription() const;
private:
explicit AccessibilityMediaTimeDisplay(RenderObject*);
virtual bool isMediaControlLabel() const { return true; }
+ virtual bool computeAccessibilityIsIgnored() const;
};
virtual bool isMenuList() const { return true; }
virtual AccessibilityRole roleValue() const { return PopUpButtonRole; }
- virtual bool accessibilityIsIgnored() const { return false; }
+ virtual bool computeAccessibilityIsIgnored() const { return false; }
virtual bool canSetFocusAttribute() const;
virtual void addChildren();
return isEnabled();
}
-bool AccessibilityMenuListOption::accessibilityIsIgnored() const
+bool AccessibilityMenuListOption::computeAccessibilityIsIgnored() const
{
return accessibilityPlatformIncludesObject() != IncludeObject;
}
public:
static PassRefPtr<AccessibilityMenuListOption> create() { return adoptRef(new AccessibilityMenuListOption); }
- virtual bool accessibilityIsIgnored() const;
-
void setElement(HTMLElement*);
private:
virtual bool canSetSelectedAttribute() const;
virtual LayoutRect elementRect() const;
virtual String stringValue() const;
+ virtual bool computeAccessibilityIsIgnored() const;
RefPtr<HTMLElement> m_element;
};
return m_parent->isEnabled();
}
-bool AccessibilityMenuListPopup::accessibilityIsIgnored() const
+bool AccessibilityMenuListPopup::computeAccessibilityIsIgnored() const
{
return accessibilityPlatformIncludesObject() != IncludeObject;
}
virtual bool isEnabled() const;
virtual bool isOffScreen() const;
- virtual bool accessibilityIsIgnored() const;
void didUpdateActiveOption(int optionIndex);
virtual bool press() const;
virtual void addChildren();
virtual void childrenChanged();
+ virtual bool computeAccessibilityIsIgnored() const;
AccessibilityMenuListOption* menuListOptionAccessibilityObject(HTMLElement*) const;
};
}
}
-bool AccessibilityNodeObject::accessibilityIsIgnored() const
+bool AccessibilityNodeObject::computeAccessibilityIsIgnored() const
{
#ifndef NDEBUG
// Double-check that an AccessibilityObject is never accessed before
virtual void insertChild(AccessibilityObject*, unsigned index);
virtual bool canHaveChildren() const;
- virtual bool accessibilityIsIgnored() const;
AccessibilityRole ariaRoleAttribute() const;
AccessibilityRole determineAriaRoleAttribute() const;
AccessibilityRole remapAriaRoleDueToParent(AccessibilityRole) const;
void helpText(Vector<AccessibilityText>&) const;
String alternativeTextForWebArea() const;
void ariaLabeledByText(Vector<AccessibilityText>&) const;
+ virtual bool computeAccessibilityIsIgnored() const;
};
inline AccessibilityNodeObject* toAccessibilityNodeObject(AccessibilityObject* object)
return role == ButtonRole || role == PopUpButtonRole || role == ToggleButtonRole;
}
+bool AccessibilityObject::accessibilityIsIgnored() const
+{
+ AXComputedObjectAttributeCache* attributeCache = axObjectCache()->computedObjectAttributeCache();
+ if (attributeCache) {
+ AccessibilityObjectInclusion ignored = attributeCache->getIgnored(axObjectID());
+ switch (ignored) {
+ case IgnoreObject:
+ return true;
+ case IncludeObject:
+ return false;
+ case DefaultBehavior:
+ break;
+ }
+ }
+
+ bool result = computeAccessibilityIsIgnored();
+
+ if (attributeCache)
+ attributeCache->setIgnored(axObjectID(), result ? IgnoreObject : IncludeObject);
+
+ return result;
+}
+
} // namespace WebCore
virtual Node* node() const { return 0; }
virtual RenderObject* renderer() const { return 0; }
- virtual bool accessibilityIsIgnored() const { return true; }
+ virtual bool accessibilityIsIgnored() const;
int blockquoteLevel() const;
virtual int headingLevel() const { return 0; }
mutable bool m_haveChildren;
AccessibilityRole m_role;
AccessibilityObjectInclusion m_lastKnownIsIgnoredValue;
-
+
+ virtual bool computeAccessibilityIsIgnored() const { return true; }
+
// If this object itself scrolls, return its ScrollableArea.
virtual ScrollableArea* getScrollableAreaIfScrollable() const { return 0; }
virtual void scrollTo(const IntPoint&) const { }
return adoptRef(new AccessibilityProgressIndicator(renderer));
}
-bool AccessibilityProgressIndicator::accessibilityIsIgnored() const
+bool AccessibilityProgressIndicator::computeAccessibilityIsIgnored() const
{
return accessibilityIsIgnoredBase() == IgnoreObject;
}
explicit AccessibilityProgressIndicator(RenderProgress*);
HTMLProgressElement* element() const;
- virtual bool accessibilityIsIgnored() const;
+ virtual bool computeAccessibilityIsIgnored() const;
};
return DefaultBehavior;
}
-bool AccessibilityRenderObject::accessibilityIsIgnored() const
+bool AccessibilityRenderObject::computeAccessibilityIsIgnored() const
{
#ifndef NDEBUG
ASSERT(m_initialized);
#endif
- AXComputedObjectAttributeCache* attributeCache = axObjectCache()->computedObjectAttributeCache();
- if (attributeCache) {
- AccessibilityObjectInclusion ignored = attributeCache->getIgnored(axObjectID());
- switch (ignored) {
- case IgnoreObject:
- return true;
- case IncludeObject:
- return false;
- case DefaultBehavior:
- break;
- }
- }
-
- bool result = computeAccessibilityIsIgnored();
-
- if (attributeCache)
- attributeCache->setIgnored(axObjectID(), result ? IgnoreObject : IncludeObject);
-
- return result;
-}
-
-bool AccessibilityRenderObject::computeAccessibilityIsIgnored() const
-{
// Check first if any of the common reasons cause this element to be ignored.
// Then process other use cases that need to be applied to all the various roles
// that AccessibilityRenderObjects take on.
// Provides common logic used by all elements when determining isIgnored.
AccessibilityObjectInclusion accessibilityIsIgnoredBase() const;
- virtual bool accessibilityIsIgnored() const;
virtual int layoutCount() const;
virtual double estimatedLoadingProgress() const;
virtual bool isDetached() const { return !m_renderer; }
virtual AccessibilityRole determineAccessibilityRole();
+ virtual bool computeAccessibilityIsIgnored() const;
private:
void ariaListboxSelectedChildren(AccessibilityChildrenVector&);
bool inheritsPresentationalRole() const;
- bool computeAccessibilityIsIgnored() const;
-
#if ENABLE(MATHML)
// All math elements return true for isMathElement().
virtual bool isMathElement() const;
m_horizontalScrollbar = 0;
}
-bool AccessibilityScrollView::accessibilityIsIgnored() const
+bool AccessibilityScrollView::computeAccessibilityIsIgnored() const
{
AccessibilityObject* webArea = webAreaObject();
if (!webArea)
private:
explicit AccessibilityScrollView(ScrollView*);
- virtual bool accessibilityIsIgnored() const;
+ virtual bool computeAccessibilityIsIgnored() const;
virtual bool isAccessibilityScrollView() const { return true; }
virtual bool isEnabled() const { return true; }
private:
explicit AccessibilityScrollbar(Scrollbar*);
- virtual bool accessibilityIsIgnored() const { return false; }
+ virtual bool computeAccessibilityIsIgnored() const { return false; }
virtual bool canSetValueAttribute() const { return true; }
virtual bool canSetNumericValue() const { return true; }
return axObjectCache()->getOrCreate(m_renderer);
}
-bool AccessibilitySlider::accessibilityIsIgnored() const
+bool AccessibilitySlider::computeAccessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
if (decision == IncludeObject)
return sliderThumbElementOf(sliderRenderer->node())->boundingBox();
}
-bool AccessibilitySliderThumb::accessibilityIsIgnored() const
+bool AccessibilitySliderThumb::computeAccessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityPlatformIncludesObject();
if (decision == IncludeObject)
private:
HTMLInputElement* element() const;
- virtual bool accessibilityIsIgnored() const;
+ virtual bool computeAccessibilityIsIgnored() const;
virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) const;
virtual AccessibilityRole roleValue() const { return SliderRole; }
virtual LayoutRect elementRect() const;
- virtual bool accessibilityIsIgnored() const;
-
private:
AccessibilitySliderThumb();
+
+ virtual bool computeAccessibilityIsIgnored() const;
};
AccessibilitySpinButton();
virtual AccessibilityRole roleValue() const { return SpinButtonRole; }
- virtual bool accessibilityIsIgnored() const { return false; }
+ virtual bool computeAccessibilityIsIgnored() const { return false; }
virtual bool isSpinButton() const { return true; }
virtual void addChildren();
virtual LayoutRect elementRect() const;
virtual AccessibilityRole roleValue() const { return ButtonRole; }
virtual bool isSpinButtonPart() const { return true; }
virtual LayoutRect elementRect() const;
- virtual bool accessibilityIsIgnored() const { return false; }
+ virtual bool computeAccessibilityIsIgnored() const { return false; }
};
inline AccessibilitySpinButton* toAccessibilitySpinButton(AccessibilityObject* object)
return TableRole;
}
-bool AccessibilityTable::accessibilityIsIgnored() const
+bool AccessibilityTable::computeAccessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
if (decision == IncludeObject)
return true;
if (!isAccessibilityTable())
- return AccessibilityRenderObject::accessibilityIsIgnored();
+ return AccessibilityRenderObject::computeAccessibilityIsIgnored();
return false;
}
virtual AccessibilityRole roleValue() const;
virtual bool isAriaTable() const { return false; }
- virtual bool accessibilityIsIgnored() const;
-
virtual void addChildren();
virtual void clearChildren();
bool hasARIARole() const;
bool isTableExposableThroughAccessibility() const;
+ virtual bool computeAccessibilityIsIgnored() const;
};
inline AccessibilityTable* toAccessibilityTable(AccessibilityObject* object)
return adoptRef(new AccessibilityTableCell(renderer));
}
-bool AccessibilityTableCell::accessibilityIsIgnored() const
+bool AccessibilityTableCell::computeAccessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
if (decision == IncludeObject)
return true;
if (!isTableCell())
- return AccessibilityRenderObject::accessibilityIsIgnored();
+ return AccessibilityRenderObject::computeAccessibilityIsIgnored();
return false;
}
virtual bool isTableCell() const;
- virtual bool accessibilityIsIgnored() const;
-
// fills in the start location and row span of cell
virtual void rowIndexRange(pair<int, int>& rowRange);
// fills in the start location and column span of cell
// If a table cell is not exposed as a table cell, a TH element can serve as its title UI element.
virtual AccessibilityObject* titleUIElement() const;
virtual bool exposesTitleUIElement() const { return true; }
+ virtual bool computeAccessibilityIsIgnored() const;
};
} // namespace WebCore
return axObjectCache()->getOrCreate(cell);
}
-bool AccessibilityTableColumn::accessibilityIsIgnored() const
+bool AccessibilityTableColumn::computeAccessibilityIsIgnored() const
{
if (!m_parent)
return true;
AccessibilityObject* headerObject();
- virtual bool accessibilityIsIgnored() const;
virtual AccessibilityRole roleValue() const { return ColumnRole; }
virtual bool isTableColumn() const { return true; }
LayoutRect m_columnRect;
AccessibilityObject* headerObjectForSection(RenderTableSection*, bool thTagRequired);
+ virtual bool computeAccessibilityIsIgnored() const;
};
} // namespace WebCore
return m_headerRect;
}
-bool AccessibilityTableHeaderContainer::accessibilityIsIgnored() const
+bool AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored() const
{
if (!m_parent)
return true;
private:
LayoutRect m_headerRect;
- virtual bool accessibilityIsIgnored() const;
+ virtual bool computeAccessibilityIsIgnored() const;
};
} // namespace WebCore
return parentTable();
}
-bool AccessibilityTableRow::accessibilityIsIgnored() const
+bool AccessibilityTableRow::computeAccessibilityIsIgnored() const
{
AccessibilityObjectInclusion decision = accessibilityIsIgnoredBase();
if (decision == IncludeObject)
return true;
if (!isTableRow())
- return AccessibilityRenderObject::accessibilityIsIgnored();
+ return AccessibilityRenderObject::computeAccessibilityIsIgnored();
return false;
}
virtual ~AccessibilityTableRow();
virtual bool isTableRow() const;
- virtual bool accessibilityIsIgnored() const;
// retrieves the "row" header (a th tag in the rightmost column)
virtual AccessibilityObject* headerObject();
int m_rowIndex;
virtual AccessibilityObject* observableObject() const;
+ virtual bool computeAccessibilityIsIgnored() const;
};
} // namespace WebCore