fix(ui): the reader's own use of a stand-in stops the restore; the pill's name carries its cap
Round 2 of the deep review: - A click on, or a key typed into, the focus keeper's stand-in fires no focusin, so a restore still polling for its list could take the focus from under the reader. A pointerdown or keydown now makes it the reader's own focus. - The Jump-to pill hid its "Ctrl K" from its name (the voice command "click Ctrl K" still matched nothing); the key cap's tooltip now equals its name, so it is not read twice as a description. - listNav's comment still cited DataTable's two layouts as the reason for its visibility filter.
This commit is contained in:
@@ -66,8 +66,8 @@ function itemAt(list: NavList, index: number): HTMLElement | null {
|
||||
function ordered(): NavList[] {
|
||||
return (
|
||||
[...lists.values()]
|
||||
// Only lists on screen: a responsive table renders its rows twice — a table and a card list, one
|
||||
// of them display:none at any width (ui/DataTable) — and `j` must not walk into the hidden copy.
|
||||
// Only lists on screen: a list can be mounted yet hidden (display:none in a collapsed panel or
|
||||
// an inactive tab), and `j` must not walk into rows nobody can see.
|
||||
.filter((l) => l.el.isConnected && l.el.checkVisibility?.() !== false)
|
||||
.sort((a, b) =>
|
||||
a.el.compareDocumentPosition(b.el) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1,
|
||||
|
||||
Reference in New Issue
Block a user