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.