<!-- What our commitment to access means for contributors and users of the library. -->

# Our Focus on Access

At the [2019 Contributors Conference](https://p5js.org/events/contributors-conference-2019), p5.js made the commitment to only add new features that increase access (inclusion and accessibility). We will not accept feature requests that don't support these efforts. We commit to the work of acknowledging, dismantling, and preventing barriers. This means considering intersecting[^1] experiences of diversity that can impact access and participation. These include alignments of gender, race, ethnicity, sexuality, language, location, et cetera. We center the needs of marginalized groups over the continued comfort of those privileged within the p5.js community. We are collectively exploring the meaning of access. We are learning how to practice and teach access. We choose to think of access through expansive, intersectional, and coalitionary frameworks. This commitment is part of the core values of p5.js outlined in our [Community Statement](https://p5js.org/about/#community-statement).

## Kinds of access

Increasing access is not focused on expanding the raw number of people in the p5.js community. It is a continued commitment to making p5.js available to and approachable for people who have been excluded from the p5.js community as a consequence of structural oppression. This commitment extends to the tools and platforms p5.js offers. It also includes the makeup, decision-making, and actions of p5.js leadership. We resist a technological culture of speed, growth, and competition. We prioritize intentionality, slowness, accommodation, and accountability as acts of collective care.

Access here means making p5.js equitable for:

- People who speak languages other than English
- Black, Indigenous, People of Color, and people of marginalized ethnicities 
- Lesbian, gay, bisexual, queer, questioning, pansexual, and asexual people
- Trans, genderfluid, agender, intersex, and two-spirit people, women, and others with marginalized genders
- People who are blind, d/Deaf[^2] or hard of hearing, disabled/have a disability, neurodivergent, and chronically ill[^3]
- People who have lower income, or lack access to financial or cultural capital
- People with little or no prior experience in open source and creative coding
- People from diverse educational backgrounds
- People across all age groups, including children and elders
- People with a variety of technological skill, tools, and internet access
- People from diverse religious backgrounds
- Other people who are systematically excluded and historically underrepresented
- And all intersections thereof

We recognize the complexity of the terms used to describe our respective identities. Language is nuanced, evolving, and contested. This is not an exhaustive list. We provide an attempt to name and be accountable to our commitments and to the diverse needs of the p5.js community.


### Examples
These are examples of efforts we believe increase access:

- Translating documentation and other materials into more languages, decentering linguistic imperialism[^4] (e.g., Rolando Vargas’ [Processing in Kuna Language](https://medium.com/@ProcessingOrg/culture-as-translation-processing-in-kuna-language-with-rolando-vargas-and-edinson-izquierdo-8079f14851f7), Felipe Santos Gomes, Julia Brasil, Katherine Finn Zander, and Marcela Mancino’s [Pê Cinco: Internationalization and Popularization for Portuguese Speakers](https://medium.com/processing-foundation/translating-p5-js-into-portuguese-for-the-brazilian-community-14b969e77ab1))
- Improving our support for assistive technologies, such as screen readers (e.g., Katie Liu’s [Adding Alt Text in p5.js](https://medium.com/processing-foundation/adding-alt-text-e2c7684e44f8), Claire Kearney-Volpe’s [P5 Accessibility Project](https://medium.com/processing-foundation/p5-accessibility-115d84535fa8))
- Following [Web Content Accessibility Guidelines](https://www.w3.org/TR/WCAG21/) in our tools and working towards making it easier for users to follow them in their projects
- Making p5.js error messages more helpful and supportive to people using the tool (e.g., the [p5.js Friendly Error System (FES)](./friendly_error_system.md))
- Mentoring and supporting learners of p5.js within communities that are historically excluded from and marginalized in creative coding and the digital arts
- Hosting community events (e.g., [p5.js Access Day 2022](https://p5js.org/events/p5js-access-day-2022), [The Web We Want: p5.js x W3C TPAC 2020)](https://medium.com/processing-foundation/p5-js-x-w3c-tpac-bee4c621a053) with access-centered organizing tactics (e.g., ASL interpretation, live captioning, accessible venues)
- Supporting the creation of educational resources (e.g., Adekemi Sijuwade-Ukadike’s [A11y Syllabus](http://a11ysyllabus.site/))
- Publishing documentation and reports of our work that follow WCAG guidelines, use plain language, and focus on beginners from diverse experiences (e.g., [OSACC p5.js Access Report](https://github.com/processing/OSACC-p5.js-Access-Report))



## Maintenance
We are not accepting feature requests that do not support our effort to increase access. You'll see this criteria reflected in our issue and pull request templates. We also affirm our intention to maintain the existing feature set of p5.js. We'd like to fix bugs regardless of which area of the codebase they're in. We believe consistency of the tool makes it more accessible for beginners. Examples of feature requests that improve accessibility include:
Performance increases for people using less powerful hardware (e.g., Support for drawing to/reading from framebuffers)
Consistency in the API (e.g, Add arcVertex() for creating arcs with beginShape()/endShape())

___

Please consider this a ‘living document.' We will continue the conversation about what it means to prioritize access. We invite our community to engage with this document and the values it describes. If you have ideas or suggestions, we invite you to share them as an issue on Github or by emailing hello@p5js.org.

This version of the p5.js Access Statement was revised in collaboration with Evelyn Masso, Nat Decker, Bobby Joe Smith III, Sammie Veeler, Sonia (Suhyun) Choi, Xin Xin, Kate Hollenbach, Lauren Lee McCarthy, Caroline Sinders, Qianqian Ye, Tristan Jovani Magno Espinoza, Tanvi Sharma, Tsige Tafesse, and Sarah Ciston at the 2023 Open Source Arts Contributors Conference. It was finalized and published by Bobby Joe Smith III and Nat Decker through the support of the Processing Foundation Fellowship. 

[^1]: Crenshaw, Kimberlé (1989). "Demarginalizing the intersection of race and sex: a black feminist critique of antidiscrimination doctrine, feminist theory and antiracist politics". University of Chicago Legal Forum. 1989 (1): 139–167. ISSN 0892-5593. Full text at Archive.org.
[^2]: Capital ‘D’ Deaf refers to people who are culturally Deaf or part of the Deaf community while lower case ‘d’ deaf is an audiological term that can describe people not associated with Deaf identity. 
[^3]: There are differing preferences between ‘person-first’ vs. ‘identity-first’ language within the disability community. Read [Unpacking the debate over person-first vs. identity-first language in the autism community](https://news.northeastern.edu/2018/07/12/unpacking-the-debate-over-person-first-vs-identity-first-language-in-the-autism-community/), [Disability-Affirming Language: Person-First versus Identity-First Language](https://editorstorontoblog.com/2024/02/23/disability-affirming-language-person-first-versus-identity-first-language/), and [Person-First and Identity-First Language Glossary](https://ogs.ny.gov/system/files/documents/2024/02/person-first-and-identity-first-glossary_english_final.pdf).
[^4]: Linguistic Imperialism, or Language Imperialism, refers to the ongoing domination/prioritization/imposition of certain languages such as English at the expense of native languages due to imperial expansion and globalization. 
