diff options
Diffstat (limited to 'content_scripts/link_hints.coffee')
| -rw-r--r-- | content_scripts/link_hints.coffee | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 0f2425c3..2548abb3 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -326,6 +326,8 @@ class LinkHintsMode else if localHintDescriptor.reason == "Scroll." # Tell the scroller that this is the activated element. handlerStack.bubbleEvent "DOMActivate", target: clickEl + else if localHintDescriptor.reason == "Open." + clickEl.open = !clickEl.open else if DomUtils.isSelectable clickEl window.focus() DomUtils.simulateSelect clickEl @@ -621,7 +623,8 @@ LocalHints = when "button", "select" isClickable ||= not element.disabled when "label" - isClickable ||= element.control? and (@getVisibleClickable element.control).length == 0 + isClickable ||= element.control? and not element.control.disabled and + (@getVisibleClickable element.control).length == 0 when "body" isClickable ||= if element == document.body and not windowIsFocused() and @@ -637,6 +640,9 @@ LocalHints = isClickable ||= if element.clientHeight < element.scrollHeight and Scroller.isScrollableElement element reason = "Scroll." + when "details" + isClickable = true + reason = "Open." # An element with a class name containing the text "button" might be clickable. However, real clickables # are often wrapped in elements with such class names. So, when we find clickables based only on their |
