Skip to content

v0.5.0 – accessibility pass, pagination, EmDash 0.31.1

Choose a tag to compare

@vhscom vhscom released this 01 Aug 11:58
· 58 commits to main since this release
64f21e5

An accessibility and correctness pass over the theme, plus a move to EmDash 0.31.1.

Heads up

This release requires Node 22 or newer. The pinned pnpm already refused to run on Node 20, so the previous "Node 20+" claim could not be honoured — engines now says what is actually true.

Added

  • A "Skip to content" link — the first stop when you tab into any page, so reaching the article no longer means tabbing the entire header and menu.
  • The blog archive is paginated, ten per page, using the same numbered pager as search. Previously every post on the site rendered on a single page.

Fixed

  • The fullscreen search overlay and the burger menu now keep the keyboard inside them while open. Tabbing off the end used to walk invisibly into the page behind the layer.
  • The sidebar tabs widget and the product page tabs respond to arrow, Home and End keys, and the tab strip is a single tab stop rather than one per tab. Screen readers are now told which tab belongs to which panel.
  • The footer's light/dark/system buttons announce which one is active; they previously sounded like three identical buttons.
  • Reduce motion now also calms in-page scrolling, the back-to-top jump, the header slide-down, and the burger menu's item-by-item entrance.
  • Post dates no longer shift by a day depending on where the site is hosted.
  • Editing a page or publishing a post now refreshes the footer navigation and recent-posts widgets instead of leaving stale copies on cached pages.
  • Products whose options or reviews were saved in an unexpected shape no longer take the product page down.
  • Archive pages no longer nest one <main> inside another, and widget areas no longer render a stray heading for widget types the theme does not handle.
  • Restored the intended hover colour on portfolio meta links in dark mode.

Changed

  • emdash 0.29.0 → 0.31.1, and the Cloudflare adapter alongside it. No template changes were needed.
  • The theme plugin version was declared as 0.4.0 in two places against a 0.4.5 package; all version numbers are now synced.

Documentation

  • The README carries the design-token cheat sheet and the note that the palette deliberately reproduces the original Bravada demo rather than meeting WCAG contrast — previously only in the agent-facing AGENTS.md.
  • Documented the Cloudflare Workers deployment path and the bundler pin it depends on.
  • Added EmDash version, Node, CI, and licence badges.
  • CI now runs typecheck and the test suite on every push and pull request.

Note for Safari users

Safari only tabs to links once "Press Tab to highlight each item on a webpage" is enabled in its Advanced settings. Without it, Option+Tab reaches them. This affects the skip link on every site, not just this one.

Full changelog: v0.4.5...v0.5.0