
Who needs to be able to read the figure - language, screen readers and an assistant that invents nothing
A figure nobody in the operation can read doesn't exist. It sits in a database, it has been measured correctly, and the decision still gets made on gut feeling.
The blind spot sets out the split that matters here: a figure has to be right, and it has to be used. The sensor decides the first half. The second half is decided somewhere tenders rarely look - with the people who are supposed to read the figure. The shift lead in Lausanne who works in French. The controller at head office who works with a screen reader. The store manager who has one question at seven in the morning and doesn't know which page holds the answer.
This article works through what a platform has to do so the figure reaches all of these people.
Who needs to be able to read a figure
| Who | What they need |
|---|---|
| Teams in different language regions | the interface in their own working language, not head office's |
| People who work with a screen reader | the values behind a chart, not the announcement that there's a graphic here |
| Keyboard-only users | a way through the page without a mouse, with a visible focus |
| The team on a tablet | controls you can hit with a finger |
| Anyone who doesn't know where the figure is | a question in plain language - and an answer that's right |
None of these requirements is exotic. Together they decide whether a platform is used by three people in an operation or by thirty.
Four languages, and everyone keeps their own
In Switzerland, working in several languages isn't an add-on, it's the norm. A store network with sites in Zurich and Geneva needs the same platform in German and in French, and the report to group management often goes out in English. Add Arabic for sites in the Middle East.
Two details make the difference day to day:
- The language belongs to the person, not the computer. It is stored with the user account. Whoever logs in on a shared computer gets their own language - not the previous user's.
- The operator decides which languages are offered. Languages are enabled per company, so it offers exactly the languages it works in.
Arabic doesn't mean translated, it means mirrored
Most systems handle Arabic by translating the text and leaving the layout as it is. Navigation, icons and spacing stay on the left - to someone who reads right to left, it looks like a form filled in backwards.
Done properly, the whole interface is mirrored: the sidebar moves to the right, indents and arrows turn with it. Two things deliberately don't turn: charts and numbers. A time axis still runs left to right in Arabic, and a sequence of digits stays a sequence of digits.
The hard part isn't day one but every day after. A single new component with spacing hard-coded to the left breaks the mirroring again, and nobody notices. So a rule like this doesn't belong in a guideline but in the build check: every change is automatically checked for using start and end rather than left and right.
Behind every chart there's a table
To a screen reader, a chart is an image with no content. Someone working with a screen reader hears “graphic” at best - and nothing at worst. The fix is unglamorous: under every chart sits an invisible, properly marked-up table with a caption and column headers. Whoever needs it gets the values read out. For everyone else, nothing changes.
Then there are the basics without which a platform stays unusable for many people:
- A skip link as the first element on the page, going straight to the content.
- A visible focus for everyone working with the keyboard, and dialogs that hold the focus rather than losing it.
- Two announcement regions: a polite one for status messages and an assertive one for alerts. Changes are announced, not just displayed.
- Finger-sized controls for tablets at the counter or in the control room.
- Reduced motion when the device is set that way, and a dark colour scheme that doesn't flash on loading.
Your own logo, your own colour
A platform gets used more when it feels like your own tool. The company logo and a brand colour can be stored. A single colour value re-tints the primary tones of the whole product, and the logo appears in the site overview, the dashboard header and the sidebar.
A question in plain language
The biggest hurdle for a figure is often not the language but the navigation. Anyone who doesn't know which page shows yesterday afternoon's waiting time ends up asking a colleague - or not bothering.
An assistant that answers questions in plain language solves that. But it carries a risk you need to know about: a language model that answers every question with something is more dangerous than none at all. It invents a figure that sounds plausible, and nobody notices.
The answer is an architecture in which the model doesn't produce figures:
- The model recognises the intent. It maps the question to a fixed list of question types and detects the language.
- The query is predefined. Each question type has a database query written on the server - not by the model.
- Access is limited. Only named data sets are queried, with a cap on rows and run time.
- The model only phrases. It turns the result into a sentence, in the language of the question.
- What can't be answered is declined - with a reason, rather than a figure that looks good.
One more rule is easy to miss: the assistant inherits the rights of the person asking. Someone allowed to see two sites gets answers about those two sites in the chat as well. How roles and tenants are separated is covered in What the security questionnaire asks.
What belongs in the tender
- Which languages is the interface available in, and is the language stored per person?
- For right-to-left languages, is the whole layout mirrored, and how is that ensured for future changes?
- Is there a data table behind every chart that a screen reader can read out?
- Can the platform be used entirely by keyboard, and are alerts announced?
- Does an AI assistant produce figures itself, or does it answer from predefined queries?
- Does the assistant inherit the access rights of the person asking?
How we do it
The ANALYSIT Counting System is available in German, French, English and Arabic. Languages are enabled per customer and checked server-side, and the language choice is stored with the user so a shared computer doesn't pass on the previous user's language. Arabic runs with a true right-to-left layout: the text direction is set during server rendering, in the browser and on switching, components use only logical CSS properties, charts and numbers keep a left-to-right reading direction, and a build rule enforces this on every commit.
Behind 34 chart-bearing files sits a visually hidden, semantic data table with caption and column headers. Add a skip link as the first focusable element, focus traps following the W3C pattern, two live regions for status and alerts, 44-pixel touch targets, reduced motion and a dark mode without flicker. Logo and brand colour can be stored per customer.
We switch the AI assistant on per customer. The model maps a question to one of 227 intents and detects the language; the query is written server-side and runs against five data sets - minute values, zone dwell times, waiting times, alert history and campaigns - capped at 500 rows and 15 seconds. The model only formats the result and produces no figures, questions without a basis get a reasoned refusal, and a standard user sees only their assigned sites here too. Answers come in the language of the question.
If you want to know how your figures reach everyone who needs them, talk to us. A figure nobody reads has never improved a decision.
