Skip to content


Repository files navigation

Accessibility in JavaScript Applications

Learn the necessary techniques and tools for building inclusive web applications with JavaScript from Marcy Sutton.

Presented at Frontend Masters! You can view the videos that go along with the workshop material in the Accessibility in JavaScript Application course.

Some key takeaways:

  • Understand how to incorporate accessibility into your web development workflow.
  • Debug your sites and applications for accessibility using the latest tools.
  • Apply accessibility to React web applications with Gatsby, while learning how accessibility applies to other stacks.
  • Learn the benefits of manual and automated testing to grow web accessibility superpowers!
  • Integrate focus management into your web applications, gracefully handling keyboard and screen reader interactions.
  • Practice announcing view changes with your code and keeping screen reader users up to date.
  • Achieve wins with semantic markup, unobtrusive animation, and progressive enhancement.

App URL:

Workshop slides:

This project was started with gatsby-starter-mdx-basic and @mdx-deck/theme.

Note: This repo requires Node 12 and npm to be installed.

  1. Create a new Gatsby site and slide deck using this starter
git clone
  1. Go into the directory, install dependencies, and start the development server
cd js-a11y-workshop
npm install
npm start
View in a browser: http://localhost:8000
  1. Edit files:

  2. To look at the answers from the exercises, check out the /examples directory in the master branch

You can also check out the solutions branch to see everything in action:


  1. Have a text editor installed, i.e. VSCode
  2. Have the Gatsby CLI (gatsby-cli) installed globally by running npm install -g gatsby-cli
  3. Use Node 12 (nvm or n will help you maintain Node versions)


If you run into errors on the install, check your Node version for version 12. Sharp in particular likes to complain a lot.

To get Gatsby to install after errors, try deleting files and doing another reinstall:

rm -rf node_modules && rm package-lock.json
npm install

If you still run into problems, let me know by opening an issue and including details on any errors, Node version, platform, etc.


Frontend Masters Workshop: Accessibility in JavaScript Applications







No releases published


No packages published

Contributors 4