This guide provides practical tips and best practices for creating accessible user experiences at WorkSafeBC.
Accessibility ensures everyone can use and understand our products, improving equity, usability, and compliance. This guide highlights simple, actionable steps to design and build inclusive experiences, helping teams adopt consistent patterns that work for all users.
<h1>Page title</h1>
<h2>Section title</h2>
<h3>Subsection</h3>
<a href="#main" class="visually-hidden-focusable">
Skip to main content
</a>
Do not move navigation, buttons, or repeated elements around between pages.
<div class="container">
<div class="row">
<div class="col-md-6">...</div>
</div>
</div>
body { font-size: 1rem; }
Prevents pixelation when zooming to 200–400%.
Users zooming with screen magnifiers should never scroll horizontally.
<img src="worker.png" alt="Worker repairing machinery">
<img src="divider.svg" alt="">
<a href="/" aria-label="Go to homepage">
<img src="logo.svg" alt="">
</a>
button:focus {
outline: 2px solid #FF9900;
}
Do not visually reorder things in a way that breaks reading flow.
Nothing should perform an action just because it received focus.
<label for="email">Email</label>
<input id="email" type="email" class="form-control">
<input class="form-control is-invalid">
<div class="invalid-feedback">Enter a valid value.</div>
<input autocomplete="given-name">
<input autocomplete="family-name">
<input autocomplete="email">
Avoid using <div> or <span> as buttons, links, or structure.
Use buttons for actions, links for navigation.
<button class="btn btn-primary">Save</button>
<a href="/settings" class="btn btn-link">Settings</a>
<button aria-expanded="false" aria-controls="panel1">
More details
</button>
Short sentences, simple words.
<title>Report an injury – WorkSafeBC</title>
Good:
<a href="/coverage">Read coverage details</a>
Bad:
<a href="/coverage">Click here</a>
Only acceptable with controlled contrast or overlays.
Offer multiple contact methods: phone, email, chat, text, and in-person options.