STEM Content Accessibility
By Moss · 13 min read · March 2026
STEM content presents unique accessibility challenges. Mathematical equations, scientific diagrams, chemical formulas, and data visualizations all require special attention to ensure they are perceivable by people using assistive technology. This course covers practical strategies for making STEM content accessible without compromising accuracy.
The Challenge with STEM Content
Traditional approaches to STEM content -- equations rendered as images, hand-drawn diagrams, and complex data tables -- create significant barriers for screen reader users, people with low vision, and those with cognitive disabilities.
The core problem: most STEM notation is inherently visual. The expression "x squared plus y squared equals z squared" is typically presented as an image-like formula that assistive technology cannot interpret.
Mathematical Notation
MathML: The Accessibility Standard
MathML (Mathematical Markup Language) is an XML-based standard for describing mathematical notation. Screen readers like JAWS, NVDA, and VoiceOver can interpret MathML and speak equations aloud.
There are two types of MathML:
- Presentation MathML -- Describes how math looks (layout and formatting)
- Content MathML -- Describes what math means (semantic structure)
For accessibility, Presentation MathML is the most widely supported. The equation "x squared" in Presentation MathML looks like:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msup><mi>x</mi><mn>2</mn></msup>
</math>
LaTeX as a Source Format
If you author in LaTeX, you already have an accessible source format. LaTeX can be converted to MathML using tools like:
- MathJax -- Client-side rendering that produces accessible output
- KaTeX -- Fast rendering with MathML output option
- latex2mathml -- Python library for server-side conversion
- Pandoc -- Converts LaTeX documents with math to accessible HTML
Best Practices for Math
- Always provide MathML alongside visual rendering
- Use alt text as a fallback -- Write the equation in plain language: "x squared plus y squared equals z squared"
- Avoid images of equations -- If you must use images, include the LaTeX source in the alt text
- Test with a screen reader -- Listen to how your equations sound and adjust if unclear
- Use display mode for complex expressions -- Block-level equations are easier to navigate than inline math
Scientific Diagrams and Figures
Writing Alt Text for Complex Images
Scientific diagrams require more detailed alt text than a typical photo. The key principles:
Describe the data, not the appearance. Instead of "A bar chart with blue and red bars," write "Bar chart comparing treatment group (85% success rate) with control group (23% success rate)."
Use a structured approach:
- Type of visualization -- "Line graph," "Scatter plot," "Flowchart"
- What is being shown -- The variables, relationship, or process
- Key data points -- The most important values or trends
- Conclusion -- What the reader should take away
For complex diagrams, provide a long description. The alt text should give a summary, and a separate detailed description (via longdesc, a linked page, or an expandable section) should provide the full information.
Diagram Types and Strategies
Flowcharts and Process Diagrams
- Describe the process as a numbered list
- Include decision points and their outcomes
- Provide the description adjacent to the image
Chemical Structures
- Use SMILES notation or InChI as a text alternative
- Describe the functional groups and overall structure
- Consider using accessible chemistry markup languages
Circuit Diagrams
- Describe the circuit as a list of components and connections
- Use standard component names (resistor, capacitor, etc.)
- Include values and ratings
Anatomical Diagrams
- Label all structures mentioned in the text
- Describe spatial relationships
- Group related structures
Data Tables
Large data tables are common in STEM and require careful structuring:
Simple Tables
- Mark header rows and columns
- Use scope attributes (
roworcol) - Keep tables as simple as possible
Complex Tables
- Use
headersattributes to associate data cells with multiple headers - Provide a caption explaining what the table shows
- Consider breaking complex tables into multiple simpler tables
- Include a text summary of key findings
Very Large Datasets
- Provide a downloadable CSV/Excel version
- Include a text summary of the key statistics
- Highlight the most important values in the narrative
Code and Technical Documentation
Code Samples
- Use semantic
<code>and<pre>elements - Provide syntax highlighting that does not rely solely on color
- Include comments explaining complex logic
- Ensure code blocks are navigable by keyboard
Command-Line Examples
- Clearly distinguish between commands and output
- Provide context for what each command does
- Include expected output so users can verify
API Documentation
- Use consistent structure for each endpoint
- Provide both request and response examples
- Mark required vs. optional parameters clearly
Interactive Content
Simulations and Visualizations
- Provide a text-based alternative that conveys the same information
- Allow keyboard control for interactive elements
- Include a description of what the simulation demonstrates
- Consider providing a data table alongside an interactive chart
Lab Notebooks and Worksheets
- Use structured forms with labeled fields
- Provide clear instructions before each activity
- Allow multiple input methods (typed text, file upload)
Tools and Resources
Math Accessibility
- MathJax -- Renders LaTeX/MathML accessibly in browsers
- Desmos -- Accessible graphing calculator
- Adaline -- Automatically detects math content and flags missing MathML
Diagram Description
- DIAGRAM Center -- Guidelines for describing STEM images
- Poet Training Tool -- Practice writing image descriptions for STEM
Testing
- NVDA (free screen reader for Windows) -- Test how your math sounds
- VoiceOver (built into macOS/iOS) -- Test on Apple devices
- axe DevTools -- Automated testing for web-based STEM content
Getting Started
- Audit your math -- Check if equations are images or proper MathML/LaTeX
- Fix the highest-impact content first -- Course materials, textbooks, and published papers
- Train authors -- Show instructors how to create accessible math using LaTeX or equation editors
- Automate where possible -- Use tools like Adaline to detect and flag inaccessible STEM content
- Test with real users -- Recruit students who use assistive technology to test your materials
STEM accessibility is not about perfection -- it is about providing equitable access to knowledge. Every equation you make accessible is one more student who can learn independently.