GithubHelp home page GithubHelp logo

reactathon-a11y-workshop's Introduction

React A11y Workshop

Instructor: Erin Doyle

Thank you for signing up for the workshop on Building Accessible Web Apps with React! Please read through this entire document and follow the steps to get set up. Please complete each step before the workshop starts to ensure that you are ready to go from the start!

Slides

The slides from the workshop are available here.

Contents

  1. Set up the Dev Environment
  2. Clone and Run the Test Application
  3. Pre-Class Resources

1. Dev Env Setup

Please follow the steps to get your machine set up before Friday Sept 7th to ensure that you're ready to code from the start.

A laptop is required to attend this workshop. It's suggested that you also bring a pair of headphones for listening to the screen reader that we'll be using frequently for testing.

Step 1: Install core tools

Please ensure that your machine has the following core tools installed:

  • Git
  • Node.js v8.0 or higher
    • NVM is the easiest way to manage Node. Its setup instructions here. Then run nvm install node && nvm alias default node, which installs the latest version of Node.js and sets up your terminal so you can run it by typing node. With nvm you can install multiple versions of Node.js and easily switch between them.
    • New to npm?
  • An editor of your choice that you are comfortable using

Step 2: Install testing tools

When you've verified that your machine has the above requirements, install the following tools:

Step 3: Install optional tools (optionally... ;) )

If you are using a Mac and would like to also be able to test Windows-only based tools such as the NVDA screen reader, High Contrast Mode, and IE or Edge browsers then you can do so by setting up a Windows Virtual Machine on your Mac. See here for step by step instructions: How to Set Up a Windows VM

Other optional tools:

Step 4: Configure

Note that different browsers may have different keyboard control options available. Most modern browsers support pressing Tab to move forward or Shift + Tab to move backwards through the focusable elements, but some browsers have their own idiosyncracies:

Safari doesn't allow you to tab through links by default; to enable this, you need to:

  1. open Safari's Preferences
  2. go to Advanced
  3. check the Press Tab to highlight each item on a webpage checkbox

Firefox for the Mac doesn't do tabbing by default. To turn it on, you have to:

  1. go to Preferences > Advanced > General
  2. then uncheck "Always use the cursor keys to navigate within pages"
  3. Next, you have to open your Mac's System Preferences app
  4. then go to Keyboard > Shortcuts
  5. then select the All Controls radio button

2. Clone and run the test application

  1. Clone this project
  2. Install dependencies by entering npm install
  3. Run by entering: npm run start
  4. Open http://localhost:3000 in a browser

NOTE: the HEAD revision of the master branch contains the fully completed workshop source. We will be checking out various revision tags to step through the evolution of improving this code with the first being completely inaccessible and ending with a version that has all accessibility findings resolved.

3. Pre-class Resources

Please review the following materials to help you better prepare for the workshop:

Accessibility

Here are some short videos that may be helpful to watch that we probably won't have time to watch during the workshop and will help us hit the ground running:

Git basics

For the workshop you'll need to be able to check out specific tag revisions using git. Please familiarize yourself with how to do this.

ES6

If you're not familiar with ES6, you'll want to start here. Read one or both.

React Foundations

If you're not comfortable with React, you should read through the following resources:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.