Keyboard

The affordances power users navigate by. bms-cloud has 106 keybind sites, Enter-to-open grids and PREV/NEXT record walking; all three are invisible in a visual diff and impossible to apologise for once they are gone.

These must exist before a legacy screen is displaced

Release one of any displaced workflow spends its whole jarring allowance on the navigation shell. That leaves nothing for keyboard flow — so the replacement ships these first, not later.

Accelerators

.accel + data-hotkey

The accelerator is drawn on the control it fires — an underlined letter inside the label. Press the letter with nothing focused and the control is clicked. Try n, f or c now.

The key always resolves to clicking the visible control, never a separate handler — that is what keeps the shortcut and the button provably the same action. Disabled controls are skipped, and nothing fires while focus is in a field, so typing "n" in a search box stays a letter.

Underlines can be suppressed app-wide with .accels-hidden on <html> — the shortcuts keep working. The affordance is a preference; the binding is a contract.

Record pager

.record-pager

From any show page, walk the filtered result set without returning to the index. The legacy chrome does more than arrow — it names the next record, so you know whether to keep walking. That is why there is a slot for it.

Heinz Australia

ACC-10428 Dandenong, VIC
Account 2 of 6
Next: Kellogg's ANZ

It rides in page-heading rather than fixed chrome: the legacy version lived in a fixed head pane, and the wide sidebar has no such pane, so the pager travels with the title it belongs to.

Enter to open

.table-rows-linked + row-nav

Tab into the table, walk with ↑ ↓, open with Enter. Shown at the dense tier, which is what a work queue ships at.

Invoice Customer Status Amount
INV-88214 Heinz Australia Released 12,480.00
INV-88215 Kellogg's ANZ Pending 3,905.50
INV-88216 Simplot Foods Released 27,110.25
INV-88217 Goodman Fielder On hold 880.00