From d2691a43cc97a89c4d127ef6ef0be4c0417c675d Mon Sep 17 00:00:00 2001
From: Stephen Blott
Date: Thu, 17 Mar 2016 10:37:11 +0000
Subject: Filter out link-hint false positives.
We recognise elements with a class names containing the text "button" as
clickable. However, often they're not, they're just wrapping a
clickable thing, like a real button.
Here, we filter out such false positives.
This has two effects:
- It eliminates quite a number of real false pasitives in practice.
- With fewer hints close together, fewer hint markers are obscured by
the hints from (non-clickable) wrappers. This reduces the need for
rotating the hint stacking order, e.g #1252.
---
tests/dom_tests/dom_tests.coffee | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
(limited to 'tests/dom_tests')
diff --git a/tests/dom_tests/dom_tests.coffee b/tests/dom_tests/dom_tests.coffee
index bc137a56..0dd6e122 100644
--- a/tests/dom_tests/dom_tests.coffee
+++ b/tests/dom_tests/dom_tests.coffee
@@ -109,6 +109,25 @@ createGeneralHintTests = (isFilteredMode) ->
createGeneralHintTests false
createGeneralHintTests true
+context "False positives in link-hint",
+
+ setup ->
+ testContent = 'false positiveclickable' + 'clickable'
+ document.getElementById("test-div").innerHTML = testContent
+ stubSettings "filterLinkHints", true
+ stubSettings "linkHintNumbers", "12"
+
+ tearDown ->
+ document.getElementById("test-div").innerHTML = ""
+
+ should "handle false positives", ->
+ linkHints = activateLinkHintsMode()
+ hintMarkers = getHintMarkers()
+ linkHints.deactivateMode()
+ assert.equal 2, hintMarkers.length
+ for hintMarker in hintMarkers
+ assert.equal "clickable", hintMarker.linkText
+
inputs = []
context "Test link hints for focusing input elements correctly",
--
cgit v1.2.3