Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(421)

Unified Diff: Source/core/accessibility/AXRenderObject.cpp

Issue 588653003: Adding support for ARIA 1.1 role="none" (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/accessibility/AXRenderObject.cpp
diff --git a/Source/core/accessibility/AXRenderObject.cpp b/Source/core/accessibility/AXRenderObject.cpp
index 05c40804f5ff5fb854cd1445ab2f7325e8b6ff48..f1630c14bc0cad25f289b19cd43a807263ca7af3 100644
--- a/Source/core/accessibility/AXRenderObject.cpp
+++ b/Source/core/accessibility/AXRenderObject.cpp
@@ -598,7 +598,7 @@ bool AXRenderObject::computeAccessibilityIsIgnored() const
if (roleValue() == IgnoredRole)
return true;
- if (roleValue() == PresentationalRole || inheritsPresentationalRole())
+ if ((roleValue() == NoneRole || roleValue() == PresentationalRole) || inheritsNoneOrPresentationalRole())
return true;
// An ARIA tree can only have tree items and static text as children.
@@ -996,7 +996,7 @@ bool AXRenderObject::ariaHasPopup() const
return elementAttributeValue(aria_haspopupAttr);
}
-bool AXRenderObject::ariaRoleHasPresentationalChildren() const
+bool AXRenderObject::ariaRoleHasNoneOrPresentationalChildren() const
shreeramk 2014/09/20 12:39:36 Same query as AXObject.h
{
switch (m_ariaRole) {
case ButtonRole:
@@ -1011,11 +1011,11 @@ bool AXRenderObject::ariaRoleHasPresentationalChildren() const
}
}
-bool AXRenderObject::isPresentationalChildOfAriaRole() const
+bool AXRenderObject::isNoneOrPresentationalChildOfAriaRole() const
{
// Walk the parent chain looking for a parent that has presentational children
AXObject* parent;
- for (parent = parentObject(); parent && !parent->ariaRoleHasPresentationalChildren(); parent = parent->parentObject())
+ for (parent = parentObject(); parent && !parent->ariaRoleHasNoneOrPresentationalChildren(); parent = parent->parentObject())
{ }
return parent;
@@ -2274,14 +2274,14 @@ bool AXRenderObject::elementAttributeValue(const QualifiedName& attributeName) c
return equalIgnoringCase(getAttribute(attributeName), "true");
}
-bool AXRenderObject::inheritsPresentationalRole() const
+bool AXRenderObject::inheritsNoneOrPresentationalRole() const
shreeramk 2014/09/20 12:39:36 Same query as AXRenderObject.h
{
- // ARIA states if an item can get focus, it should not be presentational.
+ // ARIA states if an item can get focus, it should not be none or presentational.
if (canSetFocusAttribute())
return false;
- // ARIA spec says that when a parent object is presentational, and it has required child elements,
- // those child elements are also presentational. For example, <li> becomes presentational from <ul>.
+ // ARIA spec says that when a parent object is none or presentational, and it has required child elements,
+ // those child elements are also none or presentational. For example, <li> becomes presentational from <ul>.
// http://www.w3.org/WAI/PF/aria/complete#presentation
if (roleValue() != ListItemRole && roleValue() != ListMarkerRole)
return false;
@@ -2296,7 +2296,7 @@ bool AXRenderObject::inheritsPresentationalRole() const
QualifiedName tagName = toElement(elementNode)->tagQName();
if (tagName == ulTag || tagName == olTag || tagName == dlTag)
- return parent->roleValue() == PresentationalRole;
+ return (parent->roleValue() == NoneRole || parent->roleValue() == PresentationalRole);
return false;
}

Powered by Google App Engine
This is Rietveld 408576698