Next.js in Ottawa
Next.js development for Ottawa government and association work
A Next.js development company working with Ottawa departments, agencies and associations. Building inside a design system somebody else owns, where the components are specified rather than chosen.
- Working day overlap
- About an hour. Ottawa is eight hours behind Ankara, so our day closes as yours opens
- Who buys here
- Federal departments and agencies, the contractors delivering for them, national associations and non-profit bodies
- What that changes
- The design system is specified rather than selected, so the work is implementing somebody else's components correctly rather than designing new ones
- Local specifics
- Accessibility conformance is inherited from the design system only if its components are used as intended, and it is lost quietly when they are not
Ottawa is the market where nobody is asking for a design.
The buyers are federal departments and agencies, the contractors who deliver for them, and the national associations and non-profit bodies clustered around them. On a great many of these projects the visual design, the components and the interaction patterns are specified in advance by a design system the organisation does not own and cannot vary. The work is implementation, and it is more demanding than it sounds.
Implementing somebody else's components, faithfully
The temptation is to find a React component library that looks close enough and style it to match. That produces something that passes a visual review and fails a conformance one.
A design system's components are specifications about markup, labelling and keyboard behaviour as much as about appearance. A button that is a div with a click handler looks identical and is not a button. A disclosure that animates correctly while never telling assistive technology whether it is open is a failure that no screenshot reveals.
So these components get implemented from the specification rather than from the rendered result, as server-rendered markup wherever the interaction does not require otherwise, and tested with a keyboard before anybody calls one finished. That is unglamorous work and it is the whole job. Where the App Router helps is that most of these components have no state at all, so they ship no JavaScript - which is both faster and one fewer thing to get wrong.
Conformance is inherited, and it is lost quietly
The claim that using the official components makes a site accessible is true under a condition that is narrower than it appears.
Conformance survives if the component's element, attributes, labelling and keyboard handling survive. It is lost the moment somebody reproduces the look while changing the structure - and the loss is silent, because nothing in a build or a test suite notices that a label stopped being associated with its input.
The practical response is to treat deviation from the system as a decision requiring a reason, and to test the interaction rather than the appearance. For an Ottawa project the testing is also the evidence, because conformance here is something the organisation states publicly.
Equal availability means no silent fallback
Both official languages have to be equally available, and the technical requirements are mostly straightforward - separate URLs, declared alternates, a switcher in a consistent position.
The one that gets missed is the fallback. A system configured to serve English when a French page is missing looks helpful and produces exactly the failure the requirement exists to prevent: a visitor who asked for French receives English without being told, and the site reports itself as bilingual while being bilingual in half its content.
The correct behaviour is to say the page is not available in that language yet. It is less tidy and it is honest, and in a bilingual obligation honesty is the requirement. The country-level ground for Canada - privacy law, Quebec's regime, invoicing - is on the Canada market page.
Commercially
Scope fixed in writing before work starts, priced per project.
Invoiced by Codefacture Yazılım A.Ş. in Türkiye, in Canadian or US dollars by bank transfer, with no Turkish VAT because exported services are exempt.
