Accessibility
I want everyone to be able to read this blog, including people who use screen readers, magnifiers, keyboards, voice control, or other assistive technology.
Standard
This blog aims to conform to the Web Content Accessibility Guidelines (WCAG) 2.2 at Level AA, and to go beyond it where that is practical.
What is in place
- Text alternatives. Every informative image has alternative text. Charts made with R have alternative text written with the
fig-altchunk option. Images that contain a lot of text, such as schedules, and code output that is drawn with symbols, such as directory trees, also have an expandable text version. - Structure. Each page has one main heading, and headings are nested in order so you can navigate by heading. Data tables have captions and marked-up row and column headers.
- Keyboard access. Everything works with a keyboard. A “Skip to main content” link appears as the first item when you press Tab, and keyboard focus is always clearly visible.
- Color and contrast. Text and links meet the WCAG AA contrast ratio of at least 4.5:1. Links in posts are underlined, so they are not identified by color alone.
- Links. Link text describes where the link goes. Links that open in a new tab say so to screen reader users. Links to PDF files are labeled as PDFs.
- Language. Pages declare their language, so screen readers use the right pronunciation, including for the post written in Spanish.
- Videos. Embedded videos have descriptive titles and resize to fit the screen.
- Motion. Animations and smooth scrolling are turned off if your device is set to reduce motion.
- Zoom. Pages reflow at up to 400% zoom without horizontal scrolling.
Known limitations
- Embedded videos are hosted on YouTube and on YuJa. Their players and caption options are controlled by those platforms, and some older videos may only have automatically generated captions or none at all. If you need a transcript of a video on this blog, please ask.
- Older PDF files, such as my teaching statements from 2016 and 2018, were not created as tagged PDFs and may be hard to read with a screen reader.
- Screenshots of software (for example, Gradescope and Premiere Pro) describe what is shown, but they cannot reproduce every detail of the interface.
- External sites linked from posts have their own accessibility practices.
How this was checked
Every page is tested with the automated axe-core checker against WCAG 2.2 A and AA and best-practice rules, in both light and dark color modes. Automated tools find only part of the possible issues, so pages are also reviewed by hand for alternative text, heading order, link text, keyboard use, and reading order.
Report a barrier
If something on this blog is hard or impossible for you to use, please tell me. Let me know which page and what happened, and I will do my best to fix it or send you the content in a format that works for you. You can reach me through the contact information on my website.
This statement was last reviewed on October 23, 2026.