Closed wkeese closed 7 years ago
The problem his that the second click (step 3) removes the tabindex from the <div class="d-list-cell">
so focus moves to <body>
. That happens in KeyNav#focusoutHandler(), on this line:
this.navigatedDescendant.removeAttribute("tabindex");
I guess the root issue is that this.navigatedDescendant
has already been updated to point to the new descendant whereas focusoutHandler()
assumes it still points to the old descendant. this.navigatedDescendant
was set in _descendantNavigateHandler()
which was called from pointerdownHandler()
.
Note that when navigating by keyboard, focusoutHandler()
is called before _descendantNavigateHandler()
, because _descendantNavigateHandler()
is called by focusinHandler()
rather than pointerdownHandler()
.
Regression from #462.
(report from @brunano21)
For a more isolated test case, just click the elements in the grid in KeyNavTests.html and see how half turn yellow and half turn blue.