From 833942ae06f680bc1949a7bced4719b707950568 Mon Sep 17 00:00:00 2001
From: mrmr1993
Date: Wed, 17 Dec 2014 12:47:38 +0000
Subject: Stop ignoring clickable opacity: none; elements
Some websites (notably Facebook) use `opacity: none;` to show an image in
the place of a less-customisable element (eg. an ``).
To not show link hints for such transparent elements is confusing and
often the wrong thing to do.
---
lib/dom_utils.coffee | 3 +--
tests/dom_tests/dom_utils_test.coffee | 6 ------
2 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee
index 8ade58bb..1e2cc812 100644
--- a/lib/dom_utils.coffee
+++ b/lib/dom_utils.coffee
@@ -60,8 +60,7 @@ DomUtils =
# eliminate invisible elements (see test_harnesses/visibility_test.html)
computedStyle = window.getComputedStyle(element, null)
if (computedStyle.getPropertyValue('visibility') != 'visible' ||
- computedStyle.getPropertyValue('display') == 'none' ||
- computedStyle.getPropertyValue('opacity') == '0')
+ computedStyle.getPropertyValue('display') == 'none')
continue
return clientRect
diff --git a/tests/dom_tests/dom_utils_test.coffee b/tests/dom_tests/dom_utils_test.coffee
index 130a3014..ad8bde3c 100644
--- a/tests/dom_tests/dom_utils_test.coffee
+++ b/tests/dom_tests/dom_utils_test.coffee
@@ -50,12 +50,6 @@ context "Check visibility",
assert.isTrue (DomUtils.getVisibleClientRect document.getElementById 'foo') != null
assert.isTrue (DomUtils.getVisibleClientRect document.getElementById 'bar') != null
- should "detect opacity:0 links as hidden", ->
- document.getElementById("test-div").innerHTML = """
- test
- """
- assert.equal null, DomUtils.getVisibleClientRect document.getElementById 'foo'
-
should "detect links that contain only floated / absolutely-positioned divs as visible", ->
document.getElementById("test-div").innerHTML = """
--
cgit v1.2.3