Slightly improve markable element matching

- Only `<a>` elements with a `href` attribute should be matched, since
  HTML5 allows `<a>` elements to omit `href`:

  > If the a element has no href attribute, then the element represents
  > a placeholder for where a link might otherwise have been placed, if
  > it had been relevant, consisting of just the element's contents.

  Reference:
  <http://developers.whatwg.org/text-level-semantics.html#the-a-element>

- Elements with the `tabindex` attribute should be matched, but not
  `tabindex=-1`, which means explicitly saying that the element should
  _not_ be focusable.