summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/accessibility')
-rw-r--r--content/browser/accessibility/browser_accessibility_win.cc4
-rw-r--r--content/browser/accessibility/dump_accessibility_tree_browsertest.cc4
2 files changed, 8 insertions, 0 deletions
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc
index 03c199c..1c9ee7f 100644
--- a/content/browser/accessibility/browser_accessibility_win.cc
+++ b/content/browser/accessibility/browser_accessibility_win.cc
@@ -229,6 +229,10 @@ HRESULT BrowserAccessibilityWin::accDoDefaultAction(VARIANT var_id) {
if (!target)
return E_INVALIDARG;
+ // Return an error if it's not clickable.
+ if (!target->HasStringAttribute(ui::AX_ATTR_ACTION))
+ return DISP_E_MEMBERNOTFOUND;
+
manager()->DoDefaultAction(*target);
return S_OK;
}
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
index a89e48e..e74fbef 100644
--- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
+++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
@@ -138,6 +138,10 @@ IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAbbr) {
RunHtmlTest(FILE_PATH_LITERAL("abbr.html"));
}
+IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityActionVerbs) {
+ RunHtmlTest(FILE_PATH_LITERAL("action-verbs.html"));
+}
+
IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAddress) {
RunHtmlTest(FILE_PATH_LITERAL("address.html"));
}