Foundations

Grid & layout

Where things are, and — more importantly in clinical software — the guarantee that they stay there. A control that moves under a clinician's finger is a use error the interface caused.

Stable · v1.0 WCAG 2.2 AA SC 1.4.10

Overview

Most layout systems optimise for flexibility. This one optimises for positional memory. A clinician who has used AcuteLine for a week reaches for the acknowledge control without looking; a layout that relocates it — because an alarm arrived, because a panel expanded, because a longer name wrapped — spends that skill and replaces it with a search.

Predictable

The same kind of thing appears in the same place on every screen. Identity above, signals below it, content beneath, actions where they were last time.

Reserved

Regions that can receive urgent content exist whether or not they hold any. Space is allocated in advance so arrival never displaces anything.

Reflows, never truncates

At any width or zoom the layout rearranges. It does not clip, and it does not shorten clinical content to fit.

Layout regions

Every patient-scoped screen has the same five regions in the same vertical order. The order is the reading order and the DOM order, and it is not configurable.

Region order · patient-scoped screen
1 · MASTHEAD — product, user, workstation
2 · PATIENT HEADER — identity, always visible, never scrolled away
3 · ALERT REGION — reserved. Exists when empty. Alarms render here, above everything, whatever tab or dialog is open.
4 · CONTENT — the work
5 · ACTION BAR — primary action, in the same place on every screen
The reserved alert region

Region 3 is allocated at layout time and occupies its space whether or not an alarm exists. This is deliberate and slightly wasteful: it means an arriving Critical alarm cannot push the content below it downwards. Without reservation, an alarm firing while a clinician is reaching for a row moves that row — and they open a different patient. Layout shift is a wrong-patient mechanism, not a polish issue.

The column grid

A 12-column grid with a 16 px gutter inside the content region. Twelve divides cleanly into halves, thirds and quarters, which covers every layout this system needs.

BandColumnsMarginTypical layout
Compact · 320–639416 px Single column. Side panels become sequential.
Small · 640–1023824 px Content plus one collapsible panel.
Medium · 1024–12791224 px Content 8, side panel 4.
Default · 1280–25591232 px The design baseline. Content 8, panel 4, or 6/6 comparison.
Large · 2560+1232 px Same layout, scaled — see Scaling. Not more columns.
Wide screens get bigger, not busier

Above the Default band the grid does not gain columns and the layout does not gain panels. The extra pixels buy legibility at distance, because the clinician at a 4 K reading monitor is further away, not closer. Adding content instead of scale is the most common way a large-display deployment ends up worse than the one it replaced.

Layout shift is a hazard

Content that moves after first paint is treated here as a defect class, not a performance metric. Three rules:

Reflow and zoom

Do
PATIENT HEADER
ALERT REGION — empty, space held
CONTENT

The alert region occupies its space with nothing in it. An arriving alarm changes what is on screen, never where anything is.

Don't
PATIENT HEADER
CONTENT

No reserved region. The first alarm pushes the content down by its own height, mid-reach.

Outcomes of use

What this contributes to, in the terms of Usability & context of use.

Do's and don'ts

Do
CONTENT
ACTION BAR — same place on every screen

The action bar sits in a fixed region, so a clinician reaches for it without looking.

Don't
CONTENT
(floating action button, follows the scroll)

A floating action button. The primary action is somewhere different every time the page moves.

Do
PATIENT HEADER
CONTENT — side panel stacked below at this width

Below the breakpoint the panel stacks. Everything stays reachable by scrolling down.

Don't
PATIENT HEADER
CONTENT · SIDE PANEL · → scrolls sideways

Horizontal page scroll. Content exists off-screen with nothing to indicate it is there.

Clinical safety notes

Risk controls carried by this foundation

Trace these in your risk file (ISO 14971) and usability engineering file (IEC 62366-1).

NotJustAnyMed.Tech Design System · Grid & layout · v1.0 · draft for review