Recipes, orders and scheduled jobs

Order Queue <smart-order-queue>

OrderQueue shows what a line is making, how far along it is, and what comes next.

Accessibility Attributes

The OrderQueue is a group for the order on the line and two tables below it, the queue and the finished orders. The order on the line has its count as text - "7,420 of 12,000 pcs" - and a progressbar with that text as its value. The projection is written, not implied: "at this rate done 13:40 · 20 min before due", or "… 40 min late", which also carries the warning edge.

The following ARIA attributes are used inside the OrderQueue:

  • role="group" - set on the container, with an aria-label naming the queue - "Line 3 orders" - and on the order on the line, named "On the line".
  • role="progressbar" - the order's bar, with aria-valuenow, aria-valuemax and aria-valuetext as the count in words.
  • scope="col" and scope="row" - set on the column headers and on each order's product.
  • aria-label - set on each Start and Abort button in the queue, as the order it acts on - "Start PE film 60 µm".
  • aria-disabled and aria-describedby - set on Start while another order is on the line. The button stays focusable and says why it is refused: "Another order is on the line: a line makes one thing at a time". Pressing it announces the same.
  • role="group" with aria-labelledby - the confirmation for Complete and Abort, named by its question, which takes focus on Keep it.
  • role="alert" - the reason the station refused an action.
  • aria-disabled - indicates that the order queue is disabled.

When the station re-sends the queue - every count is a new queue - focus stays on the button it was on, and an open confirmation stays open.

Keyboard Interaction

The following keyboard shortcuts are available to interact with the OrderQueue:

Key Action
Tab Moves through Pause or Resume, Complete and Abort, then each queued order's Start and Abort.
Enter or Space On Pause, Resume or Start, raises orderAction. On Complete or Abort, asks first.
Escape Closes the confirmation and returns focus to the button that opened it.

Localization

All strings the OrderQueue exposes to assistive technology come from its messages property, so they can be provided in the user's language. Set locale to select a language and add a language through messages. Assigning messages replaces the whole object, so include the existing languages when adding one: el.messages = Object.assign({}, el.messages, { de: pack }); If the built-in en pack is dropped, switching back to English shows raw message keys.

Numbers, percentages and times are formatted by the browser in the language locale names, so "61%" in English is "61 %" in German without a message for it.

The OrderQueue uses the following message keys:

  • panelLabel, onLine, nothingOnLine, next, nothingQueued
  • finished, status-queued, status-running, status-paused, status-done
  • status-aborted, progress, recipe, due, noDue
  • projection, early, late, overdue, noRate
  • start, pause, resume, complete, abort
  • startLabel, abortLabel, oneAtATime, confirmComplete, confirmAbort
  • confirmAbortQueued, yesComplete, yesAbort, keep, working
  • columnOrder, columnQuantity, columnDue, columnMade, minutes
  • hours

German, French, Spanish and Chinese packs are included in the Smart.Industrial package.

Additional information on WAI-ARIA for the SMART Framework can be found here.