         # click some elements that we could click before.
         nonOverlappingElements.push visibleElement unless visibleElement.secondClassCitizen
 
+    hint.hasHref = hint.element.href? for hint in localHints
     if Settings.get "filterLinkHints"
       DomUtils.textContent.reset()
       @generateLabelMap()
       extend hint, @generateLinkText hint.element for hint in localHints
 
-    hint.hasHref = hint.element.href? for hint in localHints
     localHints
 
   # Generate a map of input element => label

      keypress: @onKeyPressInMode.bind this, hintMarkers

    @hintMode.onExit (event) =>
      if event?.type == "click" or (event?.type == "keydown" and KeyboardUtils.isEscape event) or
          (event?.type == "keydown" and event.keyCode in [ keyCodes.backspace, keyCodes.deleteKey ])
        HintCoordinator.sendMessage "deactivate"

    @setOpenLinkMode mode, false


      @hideMarker marker for marker in hintMarkers
      @showMarker matched, @markerMatcher.hintKeystrokeQueue.length for matched in linksMatched

  # When only one hint remains, activate it in the appropriate way.  The current frame may or may not contain
  # the matched link, and may or may not have the focus.  The resulting four cases are accounted for here by
  # selectively pushing the appropriate HintCoordinator.onExit handlers.
  activateLink: (linkMatched, userMightOverType=false) ->
    @removeHintMarkers()
    clickEl = HintCoordinator.getLocalHintMarker(linkMatched.hintDescriptor)?.element
