Skip to content
Novus Examples

Accessibility statement

Last reviewed: 8 August 2026

This statement describes how examples.novusstreamsolutions.combehaves for keyboard, screen-reader, low-vision, and reduced-motion users. It is a self-assessment written against the site's own source, not a third-party audit. Everything below is something you can verify in the shipped HTML and CSS; where we fall short, it is listed in known gaps rather than left out.

Conformance target

We target WCAG 2.2 Level AA. The site is partially conformant: most success criteria are met, and known interaction gaps remain (documented below). We do not publish a VPAT or a formal accessibility conformance report, and we do not claim certification.

What is implemented

Structure and semantics

  • Public catalog, template, policy, and article pages are server-rendered, with their core text and links present before client-side interaction. The faceted browser is rendered for its current query, while editors progressively hydrate their controls; no public description is hidden behind an editor interaction.
  • One <main id="main"> landmark per page, inside a persistent header/footer shell. Footer link groups are individually labelled navigation landmarks (Templates, Library, Tools, Resources, Company).
  • <html lang="en"> is set on every page.
  • Breadcrumbs render as an ordered list inside a navlabelled “Breadcrumb”, with aria-current="page" on the final item.
  • Images that carry meaning have text alternatives — audio waveform previews, for example, are described as the waveform of the named file. Purely decorative artwork (the homepage grid motif and scan sweep) is marked aria-hidden.

Keyboard

  • A “Skip to content” link is the first focusable element on every page and jumps to #main. It is visually hidden until focused.
  • The navigation drawer and the mobile “More” sheet are both exposed as role="dialog" with aria-modal and an accessible name, both close on Escape, and both lock background scrolling while open. The drawer additionally moves focus to its close button on open and returns focus to the hamburger button when you close it with that button, the overlay, or a link.
  • Expand/collapse controls carry aria-expanded — the drawer trigger, the More trigger, and every category accordion. The drawer trigger and the accordions also carry aria-controls.
  • Media previews use the browser's native <audio> and <video> elements with controls. Nothing autoplays, so no sound starts without a deliberate keypress or click.
  • There is exactly one download button per file page, and it is a real link — reachable by Tab and activated by Enter.

Focus visibility

A global :focus-visiblerule draws a 2 px solid outline with a 2 px offset in the theme's ring colour. It is applied once, at the base layer, and is never removed for aesthetic reasons — so any element that can take focus shows it.

Motion

Under prefers-reduced-motion: reduce the site turns off every animation it ships: entrance rises, the drawer and sheet slide-ins, the fade overlays, the homepage grid drift and scan sweep, and the hover-lift transform on cards. The scroll-driven reveal is the inverse — it only runs under prefers-reduced-motion: no-preference, and is a progressive enhancement that is a no-op in browsers without scroll-linked animation support. There is no parallax, no carousel, and nothing that moves without user input except the decorative homepage motif.

Colour, contrast, and zoom

  • Light and dark themes both ship, driven by a persisted choice with a color-scheme: light dark declaration so browser UI matches.
  • Colour is never the only signal: links inside body text are underlined, status badges carry words (“Available”, “Coming soon”, “Not supported”), and file states such as “intentionally corrupt” are written out in the title and description.
  • Text scaling is not blocked. The viewport declaration sets no maximum-scale and no user-scalable=no, and -webkit-text-size-adjust: 100% keeps mobile browsers from silently inflating text. Layout is fluid and reflows to a single column on narrow viewports.

Measured contrast

Ratios below are calculated with the WCAG relative-luminance formula from the exact hex values in the site's stylesheet, against the page background of each theme.

TextLightDarkAA (4.5:1)
Body text17.0:119.1:1Pass
Secondary text7.4:17.8:1Pass
Faint text (timestamps, section labels)5.1:16.6:1Pass
Accent green (inline links)5.3:17.8:1Pass

Known gaps

These are the remaining open issues we have confirmed, not hypotheticals.

  • Dialogs do not trap Tab. The navigation drawer and the More sheet set aria-modal and close on Escape, but tabbing past the last item can still reach content behind the overlay. Screen readers that honour aria-modal are unaffected; keyboard-only users may notice it.
  • Two focus-restoration gaps in the same overlays. Closing the drawer with Escape drops focus to the document instead of returning it to the hamburger button — the close button, the overlay, and links all restore it correctly, only Escape does not. And the mobile More sheet never moves focus into itself on open, so its contents have to be reached by tabbing forward from the More button. Fix: route every close path through the same restore, and move focus on open in both.
  • The in-browser editors are code and canvas surfaces.The text/data editor is built on CodeMirror 6 and the Studios are canvas-and-form workspaces. They are keyboard-operable, but a code editor and a graphics canvas have inherent limits for non-visual use. Every file they open is also available as a plain download, and the document and form exports are ordinary DOCX, XLSX, HTML, and PDF files.
  • 3D model previewsrender through a third-party viewer component. The file's properties are written out in text on the same page, so the specification is readable without the viewer.
  • Advertising frames.Ads render inside Adsterra frames we do not author or control, and their internal accessibility is Google's. They load only after the Advertising category is enabled — see the cookie preferences. No ad is ever placed adjacent to a download button.

The files themselves are not accessibility-conformant artifacts

This is important and easy to misread. Novus Examples publishes test fixtures. Many of them are deliberately degraded: image-only “scanned” PDFs with no text layer, intentionally corrupt files, malformed markup, low-contrast chart images. The tagged-structure SAMPLE PDFs are experiments for testing tooling — they are not certified PDF/UA. Do not treat a downloaded fixture as an accessible document; treat it as a documented input whose defects are listed on its page.

The one place we do the opposite is live targets, which exist precisely so accessibility tooling has something predictable to run against — ARIA landmarks, nested modal focus stacking, sortable tables, scroll-spy navigation, forced light and dark themes, print stylesheets, and a cookie banner. Those pages are fixtures for your audit tooling, not a claim about this site.

Assistive technology we develop against

Testing is manual and browser-based: keyboard-only traversal, forced light and dark themes, reduced-motion emulation, and text zoom in current Chrome, Firefox, and Safari on desktop and iOS. We do not run a certified screen-reader test matrix, so reports from real VoiceOver, NVDA, JAWS, and TalkBack users are the most useful thing you can send us.

Report a barrier

Email examples@novusstreamsolutions.com with Accessibility in the subject. The more of this you can include, the faster it gets fixed:

  • The page URL.
  • What you were trying to do, and what happened instead.
  • Your browser and operating system, and the assistive technology and version if any.
  • Whether a keyboard, a pointer, or both reproduce it.

We aim to acknowledge accessibility reports within five business days and to fix confirmed barriers in the next content deploy. There is no form to fill in and no account to create — email is the channel. General questions belong on the contact page instead.

Related

Security policy · Privacy · Terms · License · Status