Skills and ways to contribute#

There are many ways that you can contribute to the Jupyter Accessibility project and its mission. This page suggests some pathways for community members to learn new skills and share their existing skills with the team.

Where to start?#

The short answer to this question is: follow your interests 😊. There are many ways to contribute to the Jupyter Accessibility community - technical, mentorship, communications, community work, and documentation are some examples. You can either apply your skills to help out, or use it as an opportunity to learn something new! We welcome contributions in any area, but if you can’t decide where to start why not answer some support questions in the Jupyter community forum, or share your experiences of using Jupyter there and in the Jupyter accessibility repository.

A few general ways to help out#

The bullets below present a non-exhaustive list of ways to help out with the Jupyter Accessibility project - both code and non-code related:

  • Say hello in the Jupyter Community Forum and assist others with questions.

  • Look through the issues in a repository, and help respond to issues that haven’t been addressed already. Many projects in the Jupyter ecosystem have accessibility-related tags - make sure to check the Get started contributing section in this team compass for more details.

  • Guide an issue’s conversation to help form a clear, actionable next step to move the issue forward.

  • For general questions about using Jupyter Accessibility, assist the person and then improve the documentation so that the answer is easier to find.

  • For issues labeled bug try to clarify what is going on, and reproduce the bug on your machine or with specific assistive tech.

  • For issues with reproducible bugs, in a PR write a test that will fail because of the bug.

  • For issues with reproducible bugs, in a PR fix the bug and make sure that the test passes.

  • For issues that describe new features, engage in conversation in the issue to define an actionable path forward.

  • For issues that describe new features and with a clear path forward, open a PR that implements some or all of the feature.

Non-exhaustive list of skills needed#

This section provides a combination of “helpful skills to learn as a contributor” and “places to apply your skills”.

UI/UX#

  • HTML, CSS. HTML and CSS are used to generate user-facing pages throughout Jupyter Accessibility.

  • JavaScript, TypeScript. If you plan to contribute to JupyterLab or other interfaces, then JavaScript and Typescript are helpful.

  • UX/UI knowledge. Aside from specific implementations of Jupyter interfaces, it is also helpful to know about the structure and design of user interfaces, and considering the user experience as part of the design and development process.

Infrastructure and tooling#

Community infrastructure#

  • Technical/documentation Writing. Every tool in the Jupyter ecosystem is documented, and needs clear, concise, well-structured information to help others. Any contributions that improve documentation are appreciated.

  • Issue guidance and triage. Almost all enhancements to Jupyter tools begin with an issue. They are the most common point of interaction with the broader community. To improve the content of our issues and facilitate improvements in Jupyter, it is important to be a good listener, a respectful responder, and someone who encourages others to share their perspective.

  • The Jupyter Community Forum. The Discourse forum is busy with questions and discussions about Jupyter. Support for deploying, configuring, and generally using Jupyter Accessibility is primarily handled through this forum (as opposed to using GitHub issues which are scoped for actionable bug reports and development). Any help you can offer to other users is very welcome, and the forum is also a great place to exchange knowledge.

A note on complexity of tasks#

Depth/expertise required for certain kinds of tasks can be hard to nail down and not always clear. If you’d like to make a contribution, and you’re not sure where to start, a good rule of thumb is to open an issue or reach out to another team member to help you scope the work you’d like to do, and to set expectations.

— Based on contributing guidelines from the JupyterHub project.