Skip to content

Keyboard and screen readers

Every action in the report has a button or a menu entry: drag and drop is never the only way. With the keyboard you reach every field, menu and value; a screen reader hears what each control is and what changed. Options, Help, Keyboard shortcuts lists the keys in the report itself.

Keys

Where Keys
Anywhere Ctrl+Z (Mac Cmd+Z) undo, Ctrl+Shift+Z or Ctrl+Y (Mac Cmd+Shift+Z) redo. Escape closes the newest open menu or panel.
Before the field list A Skip to the toolbar link comes first.
Field list One stop of Tab. Up and Down move between the fields (Home, End), Left and Right to a field's grip, its i and its menu. Enter on a name adds the field; Shift+F10 (or the context menu key) opens its menu; Space on the grip picks it up.
Moving a chip or a field Space picks it up. Left and Right move it within a zone, Up and Down to the zone above or below; its position is announced ("Region is over Rows, position 2 of 3"). Space drops it, Escape cancels.
Menus The arrow keys move, Home and End jump to the first and the last entry, Tab or Escape closes the menu.
Text fields in menus Escape empties the field first; the next Escape closes the menu. Ctrl+Z in the field brings back text its × emptied.
Table The arrow keys move between values; Enter or Space opens the rows behind one. A field's or value's name in the header is a button: Tab to it, Enter or Space sorts (sort with a click on a header).
Drill-down panel Escape reduces it when enlarged, then closes it.

What a screen reader hears

  • An empty cell of the table is a stop too: "No rows" (nothing behind it) or "No value" (rows without a number).
  • From 300 rows on a row label is cut to one line; the status line under the table shows the whole label of the row the focus is on, or of a label you tap.
  • A chip's name says what is set on it: the filter ("3 of 4"), the top N, the whole value condition, the sort.
  • The header whose sort you chose says its order ("sorted descending"); after a click on a header the new order is read out ("Region sorted: Z to A").
  • The chart has a text alternative: type, values, counts, highest and lowest value.
  • Status messages ("Undone: Region removed", "View “Sales” saved") are read out (status messages).
  • While the report waits for its data it says "Loading the report…", once.
  • The descriptions of fields stay readable for screen readers also when the i is switched off.

Focus

  • The drill-down, the field drawer and the bottom sheets keep the focus inside while open and give it back when they close.
  • After a chip is removed the focus goes to the neighbouring chip, or to the zone.
  • The × of a text field keeps the focus in the field.
  • After a delete, a publish or Cancel in the Views menu the focus goes back to the entry in that place.

Touch and sizes

  • Text is at least 14 px, and controls at least 24 x 24 px.
  • On a touch screen the small buttons (×, i, a field's menu and grip, a tip's x) are at least 44 px.
  • Contrast is checked in both themes; reduced motion switches the animations off.

For developers

How Escape works when the report sits in a dialog of the host page is in the pivotkit-react reference; label names the report's region, so several reports on a page can be told apart. The region is not a <main>, so it fits inside the host page's own main landmark. The sorted header carries aria-sort, the view loaded in the Views menu aria-current. The sizes are --pk-* tokens (theming).