The object list (o): every node, tile or region of a chart without axes,
to sort, narrow and jump from.
Keys are handled by the OBJECT_LIST scope, so this only renders the list
and moves focus onto the selected row; that focus move is what a screen
reader announces, with the row's position from aria-posinset. The dialog
has a live region of its own, inside it, for what a focus move cannot say:
the ends of the list, a new order chosen from a button, and a key with
nothing to change. It is inside the dialog because the dialog is modal, and
a region outside it is not reliably read.
Hand-rolled rather than MUI's modal so the arrows and Escape keep reaching
the scope bindings, with a Tab trap of its own.
The object list (
o): every node, tile or region of a chart without axes, to sort, narrow and jump from.Keys are handled by the OBJECT_LIST scope, so this only renders the list and moves focus onto the selected row; that focus move is what a screen reader announces, with the row's position from
aria-posinset. The dialog has a live region of its own, inside it, for what a focus move cannot say: the ends of the list, a new order chosen from a button, and a key with nothing to change. It is inside the dialog because the dialog is modal, and a region outside it is not reliably read.Hand-rolled rather than MUI's modal so the arrows and Escape keep reaching the scope bindings, with a Tab trap of its own.