Welcome to the GitHub repository for the Jupyter Accessibility Project. This group was formed in early 2019. Its goal is to gather stakeholders interested in working to make Jupyter's core user-facing software and related tooling accessible.
These core user-facing software include:
Important notice As of August 2022 this software is not accessible. Significant work will be required to reach that goal. In the meantime, you can track the progress and initiatives in our Jupyter Accessibility Team Compass
If you are trying to use Jupyter tools with assistive technology now, you may be able to get basic support with the following:
- Jupyter Notebook a11y toolbar (from Microsoft research -
โ ๏ธ note this has not been maintained since 2019) - Make cells editable with a screen reader using the NVDA Browser Nav add-on
- Check out the accessibility section of the community forum for ongoing conversations and brainstorms around accessibility in the Jupyter ecosystem.
- Jupyter Notebook Accessibility Issues
- JupyterHub Accessibility Issues
- JupyterLab Accessibility Issues
- Review and join in contributing to accessibility issues identified for the ongoing CZI EOSS grant
- If you find something that you think should be labeled for accessibility, feel free to label it or add a comment.
Anyone is welcome to attend, if they would like to discuss a topic or to listen in.
- When: every other Wednesday (check the community calendar) at 10:15 AM Pacific Time
- Where:
jovyan
Zoom - What: current agenda. Feel free to add items to the upcoming event's agenda ๐
We also have a public archive of all the previous meeting notes.
One of our goals is to collect information about accessibility and create documentation to empower the Jupyter community to help us make our software accessible. Please use this section to begin to aggregate relevant third party standards, guides, and documentation related to this:
- Web Content Accessibility Guidelines 2.1 - W3C Recommendation
- The A11Y Project
- 18F Accessibility Guide
- The tota11y toolbar is a lightweight Javascript toolbar for quick a11y analysis.
- The WAVE tool is a web analyzer for page accessibility.
This repository uses the prettier
pre-commit hook to standardize our YAML and markdown structure.
-
Before you can run the hooks, you need to install the pre-commit package manager:
# using pip pip install pre-commit # if you prefer using conda conda install -c conda-forge pre-commit
-
From the root of this project, install the git hook scripts:
# install the pre-commit hooks pre-commit install
-
Optional- run the hooks against the files in this repository
# run the pre-commit hooks pre-commit run --all-files
Once installed, the pre-commit hooks will run automatically when you make a commit in version control.
The documentation is built with the Jupyter Book documentation engine.
Follow the instructions below to build the documentation.
The easiest way to build the documentation in this repository is to use the nox
automation tool, a tool for quickly building environments and running commands within them.
This ensures that your environment has all the dependencies needed to build the documentation.
To do so, follow these steps:
-
Install
nox
pip install nox
-
Build the documentation:
nox -s docs
This should create a local environment in a .nox
folder, build the documentation (as specified in the noxfile.py
configuration), and the output will be in docs/_build/html
.
To build live documentation that updates when you update local files, run the following command:
nox -s docs-live
If you wish to manually build the documentation, you can use conda
to do so.
-
Create a
conda
environment to build the documentation.conda env create -n accessibility-docs python=3.9
-
Activate the new environment and install the rest of the dependencies:
conda activate accessibility-docs conda install -f docs/requirements.txt -c conda-forge
-
Build the documentation:
jupyterbook build docs
This will generate the HTML for the documentation in the docs/_build/html
folder.
You may preview the documentation by opening any of the .html
files inside.