     if clickEl?
       HintCoordinator.onExit.push (isSuccess) =>
         if isSuccess
-          if clickEl == document.body
+          if linkMatched.hintDescriptor.reason == "Frame."
             Utils.nextTick -> focusThisFrame highlight: true
+          else if linkMatched.hintDescriptor.reason == "Scroll."
+            # Tell the scroller that this is the activated element.
+            handlerStack.bubbleEvent "DOMActivate", target: clickEl
           else if DomUtils.isSelectable clickEl
             window.focus()
             DomUtils.simulateSelect clickEl

              window.innerWidth > 3 and window.innerHeight > 3 and
              document.body?.tagName.toLowerCase() != "frameset"
            reason = "Frame."
      when "div", "ol", "ul"
        isClickable ||=
          if element.clientHeight < element.scrollHeight and Scroller.isScrollableElement element

    Settings.onLoaded =>
      @localHints = LocalHints.getLocalHints()
      @sendMessage "postHintDescriptors", hintDescriptors:
        @localHints.map ({rect, linkText, showLinkText, hasHref, reason}, localIndex) ->
          {rect, linkText, showLinkText, hasHref, reason, frameId, localIndex}

  # We activate LinkHintsMode() in every frame and provide every frame with exactly the same hint descriptors.
  # We also propagate the key state between frames.  Therefore, the hint-selection process proceeds in lock
