summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-18 00:21:32 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-18 00:21:32 +0000
commit21aff05ece8525de34edb788615f58a51ac2a3fe (patch)
treed982c766ef1340e6bd46c21536761bef952c20d4 /content/browser/accessibility
parent50a3413134cb35d2ce122c5a4f33c7c4440f981e (diff)
downloadchromium_src-21aff05ece8525de34edb788615f58a51ac2a3fe.zip
chromium_src-21aff05ece8525de34edb788615f58a51ac2a3fe.tar.gz
chromium_src-21aff05ece8525de34edb788615f58a51ac2a3fe.tar.bz2
Skip table columns when doing accessibility hit testing.
Tables have both rows and columns as children, with bounding rects for both, but only rows contain the cells - so when doing recursive hit testing we should ignore the columns. BUG=345924 Review URL: https://codereview.chromium.org/196573029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257551 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/accessibility')
-rw-r--r--content/browser/accessibility/browser_accessibility.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
index d741f40..ff57121 100644
--- a/content/browser/accessibility/browser_accessibility.cc
+++ b/content/browser/accessibility/browser_accessibility.cc
@@ -318,6 +318,12 @@ BrowserAccessibility* BrowserAccessibility::BrowserAccessibilityForPoint(
// most tightly encloses the specified point.
for (int i = static_cast<int>(PlatformChildCount()) - 1; i >= 0; --i) {
BrowserAccessibility* child = PlatformGetChild(i);
+
+ // Skip table columns because cells are only contained in rows,
+ // not columns.
+ if (child->role() == ui::AX_ROLE_COLUMN)
+ continue;
+
if (child->GetGlobalBoundsRect().Contains(point))
return child->BrowserAccessibilityForPoint(point);
}