title: Focus outline is invisible in Chrome when using a keydown handler to control focus
body: <p>I have an <code>&lt;input type="text" /&gt;</code>.</p>
  
  <p>When I <kbd>Shift+Tab</kbd> from the textfield, I want to focus on an <code>li &gt; a</code>. I can't rely on the native tabbing behavior in this case, because I have an anchor element in between the <code>&lt;input /&gt;</code> and the target <code>&lt;a /&gt;</code> that I don't want to give focus to.</p>
  
  <p>Thus, I add a keydown listener that forces focus to the <code>&lt;a /&gt;</code> that I care about.</p>
  
  <p>In Chrome however, when I focus on the <code>&lt;input /&gt;</code> and <kbd>Shift+Tab</kbd> from the <code>&lt;input /&gt;</code>, focus goes to the last <code>&lt;a /&gt;</code>, but the outline is invisible. If I do another <kbd>Shift+Tab</kbd> + <kbd>Tab</kbd> to land back onto B, I now see the outline.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>document.getElementById("f").addEventListener("keydown", (e) =&gt; {
    if (e.key === "Tab" &amp;&amp; e.shiftKey) {
        e.preventDefault();
        document.querySelector("#list1 &gt; li:last-child &gt; a").focus();
    }
  });</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;ul id="list1"&gt;
    &lt;li&gt;&lt;a href="#"&gt;A&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;B&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;a href="#" /&gt;
  &lt;input id="f" /&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>If I remove the keydown handler and the anchor element in between the textfield and the target anchor that I want to focus, the focus outline is rendered correctly.</p>
  
  <p>Is this a known Chrome bug, and are there any workarounds for this? (Using Chrome 74)</p>