Every control here is a real native control with its appearance replaced, never a div pretending: the semantics, the keyboard behaviour and the announcement all come free that way. The menubar has one tab stop and arrows move within it. The dialog traps focus in a cycle and gives it back on close, which is the half people skip. And the indeterminate bar carries no aria-valuenow, because it says "working" and must never be read as progress.
import 'overscan'
import 'overscan/overscan.css'
<select
class="ov-select"
aria-label="sector"
>…</select>import 'overscan'
import 'overscan/overscan.css'
<select
class="ov-select"
aria-label="sector"
>…</select>