The A11Y Project logo. An abstract human silhouette with outstretched arms centered in a dark blue circle.

The A11Y Project

The Accessibility (A11Y) Project is a community-driven effort to make web accessibility easier. We do this by leveraging a worldwide community of developer knowledge.

The A11Y Project is guided by three principles:

  1. Digestible. Articles on accessibility tend to be in-depth, sometimes to their detriment. We prefer to feature short, digestible pieces of content.
  2. Up-to-date. We strive to keep information current with the latest standards and the realities of real-world technology support.
  3. Forgiving. People make mistakes and web accessibility can be difficult, so we seek to be encouraging.


You can learn about helping this project by reading our Code of Conduct, Contributor documentation, and Content Style Guide. Please familiarize yourself with them before submitting content.

Local development


In order to get the website running locally on your computer, you'll need access to the following programs and technology:

  1. A command line application such as Terminal.
  2. Git version control and a GitHub account.
    • You can check to see if Git is already installed on your computer by typing git --version into your command line application. If it is installed it will list the currently installed version (e.g. git version 2.18.0).
    • If you prefer to use a GUI to work with version control, GitHub offers a free desktop app.
  3. The Ruby programming language.
    • You can check to see if Ruby is already installed on your computer by typing ruby -v into your command line application. If it is installed it will list the currently installed version (e.g. ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin17]).
    • It may also be helpful to use rbenv, a command line program that helps manage your Ruby versions.
  4. bundler, a command line application that helps manage Ruby Gems.


The A11Y Project uses Jekyll to manage its content. Jekyll relies on Markdown, Sass, and YAML to function. It may be helpful to familiarize yourself with these technologies, depending on what you want to do. For more information, check our our Contributor documentation.


Once you have met the prerequisites, follow these steps to install the website on your computer:

  1. Fork the repository to create a copy of the project you can work with.
  2. Clone a copy of the repository to your computer by entering this command into your command line application: git clone, where your_github_username corresponds to the username you use to log into the site (for example, our username is a11yproject). This will create a version controlled copy of the website in the directory you entered the command in.
  3. Navigate into the project's root directory by typing cd in your command line application.
  4. Install the project's Ruby Gems by typing bundle install into your command line application. A list of Ruby Gems will be displayed after they are downloaded and installed.

Running the website

After cloning and installing project Ruby Gems, type jekyll serve into your command line application. This will tell Jekyll to compile the project and turn it into a website.

Your command line application will then display some information about Jekyll, including a line about Server address:. You can copy the URL it points (it should read something like to and paste it into a browser tab. This will load a local copy of the website that you can interact with to preview your changes.

Saving project files will make Jekyll regenerate the website to reflect the changes you made. Your command line application will display some new messaging to reflect this, including any errors you might accidentally make. Don't worry! Since the site uses version control, you're not in danger of seriously breaking anything. If you fix the error, Jekyll should continue to run.

You can tell Jekyll to stop running by pressing the Control and C keys at the same time in your command line application.


If you are experiencing Ruby issues that prevent you from compiling the website, try this command instead: bundle exec jekyll serve. This will tell bundler to execute the command instead of Ruby.

If jekyll serve was the last command you typed into your command line application, you can press the up arrow on your keyboard to bring it back, then hit Enter to run it again. This can sometimes be helpful when you want to force the entire site to be regenerated from a "cold start".

Other issues about installing and running the website can be addressed in the site's Issue Tracker.