Skip to content

Latest commit

 

History

1,104 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eventua11y

Eventua11y.com

Netlify Status CodSpeed

A curated list of digital accessibility events.

Accessibility

The goal is for each page of this website to meet the requirements of WCAG 2.2 Level AA. If you notice a problem, please report it or email help@eventua11y.com. See the full accessibility statement on the website.

Contributing

See the contributing guide for ways to get involved in this project, including some that don't require you to write a single line of code.

Feature tree

This project records what the product does and the state of each part in .chocks/, a tree of markdown files managed by Chocks.

Browse or edit the tree with the Chocks UI:

npm run chocks

Coding agents should run npx chocks context at the start of a session to load the tree as product context; see AGENTS.md.

Technology

Frameworks and languages

  • Astro -- the site framework, running in server-side rendering (SSR) mode
  • Vue -- interactive components hydrated on the client
  • TypeScript -- used throughout the project

UI and styling

  • Web Awesome -- web component library providing the core UI elements
  • Custom CSS with light and dark themes
  • PostCSS with Autoprefixer and cssnano

Data and APIs

  • Sanity -- real-time content database for events and books, edited in Sanity Studio
  • Netlify Edge Functions (Deno runtime) -- three API endpoints:
    • /api/get-events -- fetches events from Sanity with timezone-aware date processing
    • /api/get-books -- fetches book club books from Sanity
    • /api/get-user-info -- returns user timezone and geolocation data
  • Day.js -- date formatting and timezone conversion

Hosting and monitoring

  • Netlify -- hosting with automatic deploys from the main branch. Feature branches are deployed to preview URLs.
  • Sentry -- error tracking and performance monitoring

Feature flags

  • OpenFeature with the Flagsmith provider -- server-side feature flag evaluation in local-evaluation mode (no per-request HTTP). See the Feature Flags section in AGENTS.md for the flag-authoring workflow and constraints.

Testing

  • Playwright -- end-to-end and accessibility tests
  • axe-core -- automated WCAG 2.2 AA scans on every page as a foundation, with Playwright assertions layered on top for accessible names, landmarks, heading hierarchy, and ARIA states that axe cannot catch
  • Vitest -- unit tests

Code quality

  • ESLint -- linting with plugins for Astro, Vue, TypeScript, Playwright, and jsx-a11y
  • Prettier -- code formatting

Development

Prerequisites

Environment variables

The edge functions require the following environment variables, configured in Netlify:

Variable Description
SANITY_PROJECT Sanity project ID
SANITY_DATASET Sanity dataset name
SANITY_API_VERSION Sanity API version
SANITY_CDN Whether to use the Sanity CDN (true/false)
SENTRY_AUTH_TOKEN Sentry auth token (used during build for source map uploads)
FLAGSMITH_ENVIRONMENT_KEY Flagsmith Server-side SDK Token for OpenFeature (one per Netlify scope; optional locally — flags fall back to defaults if unset)

Getting started

npm install

To run the dev server with Prettier and ESLint watching for changes:

npm run dev

Or to run just the Astro dev server:

npm start

To run locally with Netlify Edge Functions, use the Netlify CLI:

npx netlify dev

Running tests

# End-to-end tests (Playwright)
npm test

# Unit tests (Vitest)
npm run test:unit

# Unit tests in watch mode
npm run test:unit:watch

Running benchmarks

Performance benchmarks live in bench/ and cover the pure date, event and assembly utilities. They run with Vitest and are tracked continuously by CodSpeed.

npm run bench

Building

npm run build

This runs Prettier/ESLint checks, builds the Astro site, and uploads source maps to Sentry.

CI/CD

Pull requests trigger a GitHub Actions workflow that runs unit tests and end-to-end tests against Netlify deploy previews. A separate workflow runs the benchmarks on CodSpeed and reports performance changes on the pull request. Additional workflows check for missing alt text on images and run the GitHub accessibility scanner against key production pages on a weekly schedule (or manually).

The accessibility scanner workflow requires an A11Y_SCANNER_TOKEN repository secret (a fine-grained PAT with actions: write, contents: write, issues: write, pull-requests: write, and metadata: read).

Dependency updates are managed by Dependabot.

License

MIT

About

A curated calendar of digital accessibility conferences and events.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Sponsor this project

Used by

Contributors

Languages