Projects & code
Results (129)
GitHub Accessibility Scanner - condensed demo
Microsoft AI Tour, Ignite, and Build events
A short, booth-ready scanner simulation that follows three personas through accessibility barriers and engineering next steps.
Microsoft Build accessibility scanner booth demo
Microsoft Build
More than 1,000 people visited the Microsoft Accessibility booth, with 700+ diving into demos and conversations around accessibility and AI.
Agentic accessibility feedback pipeline
GitHub
Continuous AI for accessibility — an agentic GitHub Actions and Copilot workflow that triages, classifies, and routes accessibility feedback using the GitHub Models API.
Learn Accessibility course
Google web.dev
Google’s web.dev course covers accessibility foundations, WCAG, ARIA, and inclusion practices, giving developers a baseline for daily work.
W3Cx: Introduction to Web Accessibility
W3C / edX
W3C's introductory web accessibility course, where I serve as a course trainer for the development section.
Deque University code library
Deque Systems
Helped create the code patterns for Deque's ARIA pattern library and establish it as an educational resource for accessible, tested components.
A11Y Style Guide
Open source project
Living accessibility style guide with reusable components, WCAG guidance, and links to tools, talks, and articles supporting front-end teams.
Accessible User Preferences
CodePen
CodePen collection of accessible color, contrast, and motion examples that respect people’s system and in-page preferences.
Accessible CSS Pattern Evaluations
CodePen
CodePen collection of five accessible CSS pattern evaluations covering color, links, images, animation, and typography.
Ask Wookiee
Personal project
Accessible AI chat with Wookiee sounds, animations, and themed worlds, plus light/dark modes and controls for motion and audio preferences.
Agent K-C
Personal project
Database searcher for 90FM Trivia that helps teams find past questions quickly, with light/dark themes and playful fish interactions on hover.
Oracle of Inclusion
Personal project
Interactive AI prompt generator for A11yTalks with event support, accessible controls, animation, sound, and light/dark modes for live sessions.
Groups and ARIA labels
CodePen
CodePen snippet exploring grouped content and ARIA labeling patterns for assistive technology announcements and structural clarity.
Smashing JS Accessibility
CodePen
CodePen collection of JavaScript accessibility examples covering interactive behavior, semantic state, and inclusive front-end patterns.
Smashing CSS Accessibility
CodePen
CodePen collection of CSS accessibility examples for inclusive styling, visual states, layout systems, and user-preference support.
Accessible Typography - Font variants
CodePen
CodePen snippet demonstrating typography labeling and readable font variant choices in accessibility-focused interface content.
Text on images
CodePen
CodePen snippet evaluating accessible text-over-image techniques to maintain readability, contrast, and comprehension.
Accessible JavaScript - Alert Dialog with Injected HTML & CSS (example #2)
CodePen
CodePen snippet demonstrating an accessible alert dialog implementation with injected HTML and CSS behavior (example 2).
Accessible JavaScript - Alert Dialog with Injected HTML & CSS (example #1)
CodePen
CodePen snippet demonstrating an accessible alert dialog implementation with injected HTML and CSS behavior (example 1).
Accessible JavaScript - This is the title
CodePen
CodePen snippet demonstrating accessible JavaScript interactions and semantic updates in a practical title-focused example.
Accordion
CodePen
CodePen snippet demonstrating accessible accordion disclosure behavior with keyboard support and semantic structure.
Accessible CSS - Which paragraph is accessible? (Pattern evaluation #5)
CodePen
CodePen snippet for evaluating paragraph styling accessibility and identifying which text treatment supports inclusive reading.
Accessible CSS - Which animation elements are accessible? (Pattern evaluation #4)
CodePen
CodePen snippet for evaluating animation accessibility and identifying motion choices that better support users.
Accessible CSS - Which images would be hidden from AT? (Pattern evaluation #3)
CodePen
CodePen snippet for evaluating CSS image treatments and whether images become hidden from assistive technologies.
Accessible CSS - Which colors are accessible? (Pattern evaluation #1)
CodePen
CodePen snippet for evaluating accessible color choices and contrast-aware combinations in CSS.
Accessible CSS - Which links are accessible? (Pattern evaluation #2)
CodePen
CodePen snippet for evaluating accessible link styling and distinguishing features beyond color alone.
Accessible Color - @prefers-color-scheme + @forced-colors + @inverted-colors
CodePen
CodePen pattern demonstrating user-choice color accessibility with prefers-color-scheme, forced-colors, and inverted-colors media queries.
Accessible Contrast - @prefers-contrast + @prefers-reduced-transparency
CodePen
CodePen pattern demonstrating user-choice contrast with prefers-contrast and prefers-reduced-transparency queries for inclusive visual options.
Accessible Motion - @prefers-reduced-motion + @prefers-reduced-data
CodePen
CodePen pattern demonstrating user-choice motion with prefers-reduced-motion and prefers-reduced-data queries to support comfort and performance.
Reduced motion border
CodePen
CodePen snippet demonstrating reduced-motion-friendly border animation behavior for inclusive visual feedback.
Google Learn Accessibility – forms
CodePen
CodePen collection supporting Google Learn Accessibility form lessons with examples for labels, validation, fieldsets, and accessible inputs.
Google Learn Accessibility – testing
CodePen
CodePen collection supporting Google Learn Accessibility testing lessons with examples for semantics, keyboard behavior, and assistive tech.
Accessible Forms - field descriptions
CodePen
CodePen snippet demonstrating accessible field descriptions and supplementary guidance for form inputs.
Accessible Forms - field errors
CodePen
CodePen snippet demonstrating accessible form error handling and clear error association patterns.
Accessible Forms - grouped form fields
CodePen
CodePen snippet demonstrating accessible grouping of related form fields with semantic labeling.
Inaccessible landing page - AT fixes applied
CodePen
CodePen example showing accessibility fixes applied to an inaccessible landing page as part of Google Learn Accessibility testing workflows.
Inaccessible landing page - manual fixes applied
CodePen
CodePen example of an inaccessible landing page after manual accessibility fixes were applied.
Inaccessible landing page - automated fixes applied
CodePen
CodePen example of an inaccessible landing page after automated fixes were applied for comparison and validation.
Inaccessible landing page
CodePen
CodePen example of an inaccessible landing page used as a baseline for testing and remediation workflows.
Accessible JavaScript - Aria-pressed
CodePen
CodePen snippet demonstrating accessible toggle state handling with aria-pressed.
Accessible JavaScript - Aria-expanded
CodePen
CodePen snippet demonstrating disclosure state handling with aria-expanded.
Accessible JavaScript - Aria-live
CodePen
CodePen snippet demonstrating dynamic announcements with aria-live regions.
Accessible JavaScript - Trigger event (React)
CodePen
CodePen snippet demonstrating accessible trigger-event behavior implemented in React.
Google Learn Accessibility – JavaScript
CodePen
CodePen collection supporting Google Learn Accessibility JavaScript lessons with examples for accessible interactivity and dynamic UI state.
Accessible Structure - Focus styling
CodePen
CodePen snippet demonstrating accessible focus styling patterns.
Accessible Structure - Skip link
CodePen
CodePen snippet demonstrating accessible skip-link structure for keyboard navigation.
Accessible Structure - Focus order
CodePen
CodePen snippet demonstrating focus-order structure and keyboard flow.
Google Learn Accessibility – structure
CodePen
CodePen collection supporting Google Learn Accessibility structure lessons with examples for landmarks, headings, semantics, and page layout.
Accessible Motion - Accessible JavaScript motion toggle
CodePen
CodePen snippet demonstrating an accessible JavaScript motion toggle control.
Google Learn Accessibility – animation and motion
CodePen
CodePen collection supporting Google Learn Accessibility animation lessons with examples for reduced motion and inclusive animated experiences.
Accessible Motion - @prefers-reduced-motion (motion default)
CodePen
CodePen snippet demonstrating a motion-default experience adjusted with prefers-reduced-motion.
Accessible Motion - @prefers-reduced-motion (no motion default)
CodePen
CodePen snippet demonstrating a reduced-motion-first pattern with optional motion enhancements.
Accessible Motion - Multiple media queries
CodePen
CodePen snippet demonstrating motion accessibility with multiple user-preference media queries.
Accessible Color - Multiple media queries
CodePen
CodePen snippet demonstrating color accessibility adaptations across multiple user-preference media queries.
Accessible Color - @prefers-contrast
CodePen
CodePen snippet demonstrating accessible color adaptations using prefers-contrast.
Accessible Color - @prefers-color-scheme
CodePen
CodePen snippet demonstrating accessible color adaptations using prefers-color-scheme.
Accessible Color - Color in context
CodePen
CodePen snippet demonstrating evaluating color choices in context instead of isolated swatches.
Accessible pattern examples
CodePen
CodePen collection of accessible front-end pattern examples showing inclusive HTML, CSS, JavaScript, and ARIA techniques in practical scenarios.
Google Learn Accessibility – color and contrast
CodePen
CodePen collection supporting Google Learn Accessibility color lessons with examples for contrast, color independence, and visual design choices.
Accessible Color - Hue
CodePen
CodePen snippet exploring hue choices and how color hue impacts accessible interface readability.
Accessible Color - Lightness
CodePen
CodePen snippet demonstrating lightness considerations for accessible color combinations.
Accessible Color - Saturation
CodePen
CodePen snippet demonstrating saturation considerations for accessible color usage.
Accessible Typography - Structure
CodePen
CodePen snippet demonstrating typography structure patterns that improve readability and comprehension.
Accessible Typography - Spacing
CodePen
CodePen snippet demonstrating accessible typography spacing techniques for clearer reading flow.
Accessible Typography - Text alignment
CodePen
CodePen snippet demonstrating accessible text alignment choices for improved readability.
Accessible Typography - Letter characteristics
CodePen
CodePen snippet demonstrating accessible letterform characteristics that support legibility.
Accessible Informative Images - SVG + title
CodePen
CodePen snippet showing informative SVG images with title-based labeling for assistive technologies.
Accessible Complex Images - Figure + figcaption
CodePen
CodePen snippet demonstrating figure and figcaption usage for accessible complex image context.
Google Learn Accessibility – typography
CodePen
CodePen collection supporting Google Learn Accessibility typography lessons with examples for text spacing, font choices, and type scale.
Accessible Typography - Typeface
CodePen
CodePen snippet demonstrating typeface decisions that support accessible reading experiences.
Accessible Color - Color contrast ratios
CodePen
CodePen snippet demonstrating color contrast ratio checks for accessible visual design.
Accessible Complex Images - ARIA describedby
CodePen
CodePen snippet demonstrating complex image descriptions using ARIA describedby associations.
Accessible Complex Images - Long description
CodePen
CodePen snippet demonstrating long description techniques for accessible complex images.
Google Learn Accessibility – images
CodePen
CodePen collection supporting Google Learn Accessibility image lessons with examples for alternative text, decorative images, and SVG handling.
Accessible Informative Images - Image alt
CodePen
CodePen snippet demonstrating accessible informative image handling with meaningful alternative text.
Accessible Decorative Images - All
CodePen
CodePen snippet demonstrating decorative image patterns and how to keep non-informative visuals out of the accessibility tree.
Accessible Functional Images - Image alt
CodePen
CodePen snippet demonstrating functional image links and controls with appropriate alternative text.
Accessible Informative Images - Visually hidden
CodePen
CodePen snippet demonstrating visually hidden techniques for accessible informative image context.
Accessible Functional Images - Visually hidden
CodePen
CodePen snippet demonstrating visually hidden text support for functional images.
Accessible Functional Images - Image title + alt
CodePen
CodePen snippet demonstrating functional images using title and alt attributes for accessible context.
Accessible Decorative Images - CSS background
CodePen
CodePen snippet demonstrating decorative images implemented as CSS backgrounds to reduce accessibility noise.
Accessible Decorative Images - ARIA hidden
CodePen
CodePen snippet demonstrating decorative image handling with ARIA hidden to avoid redundant announcements.
Accessible Decorative Images - ARIA role="none"
CodePen
CodePen snippet demonstrating decorative image handling with ARIA role none.
Accessible Decorative Images - ARIA role="presentation"
CodePen
CodePen snippet demonstrating decorative image handling with ARIA role presentation.
Accessible Decorative Images - Empty or "null" alt
CodePen
CodePen snippet demonstrating empty alt usage for decorative images.
Inaccessible pattern examples
CodePen
CodePen collection of intentionally inaccessible examples used to compare barriers with more inclusive front-end patterns and practical fixes.
Happy V-day - Accessible SVG example (step 1)
CodePen
CodePen snippet showing the first step in the Happy V-day accessible SVG progression.
Happy V-day - Accessible SVG example (step 2)
CodePen
CodePen snippet showing the second step in the Happy V-day accessible SVG progression.
Happy V-day - Accessible SVG example (step 3)
CodePen
CodePen snippet showing the third step in the Happy V-day accessible SVG progression.
Happy V-day - Accessible SVG example (step 4)
CodePen
CodePen snippet showing the fourth step in the Happy V-day accessible SVG progression.
Happy V-day - Accessible SVG example (step 5)
CodePen
CodePen snippet showing the fifth step in the Happy V-day accessible SVG progression.
Accessible JavaScript - Accessible modal pattern (React)
CodePen
CodePen snippet demonstrating an accessible modal pattern built with React and keyboard-friendly interaction behavior.
Accessible JavaScript - Inaccessible modal pattern (React)
CodePen
CodePen snippet demonstrating an inaccessible React modal pattern for comparison and remediation testing.
I ❤️ NY - Accessible SVG example (step 5)
CodePen
CodePen snippet showing step 5 of the I ❤️ NY accessible SVG progression.
I ❤️ NY - Accessible SVG example (step 4)
CodePen
CodePen snippet showing step 4 of the I ❤️ NY accessible SVG progression.
I ❤️ NY - Accessible SVG example (step 3)
CodePen
CodePen snippet showing step 3 of the I ❤️ NY accessible SVG progression.
I ❤️ NY - Accessible SVG example (step 2)
CodePen
CodePen snippet showing step 2 of the I ❤️ NY accessible SVG progression.
I ❤️ NY - Accessible SVG example (step 1)
CodePen
CodePen snippet showing step 1 of the I ❤️ NY accessible SVG progression.
Inaccessible simple form pattern
CodePen
CodePen snippet demonstrating an inaccessible simple form pattern for testing and remediation comparison.
Accessible simple form pattern
CodePen
CodePen snippet demonstrating an accessible simple form pattern with clear labels and usable input structure.
Inaccessible modal pattern
CodePen
CodePen snippet demonstrating an inaccessible modal pattern for accessibility testing and remediation comparison.
Accessible modal pattern
CodePen
CodePen snippet demonstrating an accessible modal pattern with expected focus and keyboard behavior.
Inaccessible accordion pattern
CodePen
CodePen snippet demonstrating an inaccessible accordion pattern for testing and remediation comparison.
Accessible accordion pattern
CodePen
CodePen snippet demonstrating an accessible accordion pattern with semantic controls and keyboard support.
Inaccessible navigation pattern (with color changing links)
CodePen
CodePen snippet demonstrating an inaccessible navigation pattern for testing and comparison with remediated approaches.
Accessible table pattern
CodePen
CodePen snippet demonstrating an accessible table pattern with semantics that support assistive technology users.
Inaccessible table pattern
CodePen
CodePen snippet demonstrating an inaccessible table pattern used for testing and remediation comparisons.
Which button pattern is the most accessible?
CodePen
CodePen snippet for comparing button implementation patterns and evaluating which is most accessible.
Which contextual link pattern is the most accessible?
CodePen
CodePen snippet for comparing contextual link patterns and evaluating which approach is most accessible.
Which SVG image pattern is the most accessible?
CodePen
CodePen snippet for comparing SVG image patterns and evaluating the most accessible implementation.
Accessible pattern test answers
CodePen
CodePen collection of answer examples for accessible pattern exercises, showing corrected markup and behavior for inclusive components.
Accessible pattern test questions
CodePen
CodePen collection of exercise prompts for practicing accessible pattern analysis, hands-on testing, and thoughtful markup remediation.
Accessible navigation pattern (with color changing links)
CodePen
CodePen snippet demonstrating an accessible navigation pattern that changes link colors while preserving usability.
Accessible SVG Pattern Comparison (updated for 2022)
CodePen
CodePen compares twelve SVG patterns across platforms, browsers, and screen readers to reveal which approaches deliver strong accessibility.
Accessible button patterns
CodePen
CodePen compares accessible button patterns – native buttons, ARIA role overrides, and link-as-button variants – to evaluate reliable markup choices.
Accessible link patterns
CodePen
CodePen explores accessible link patterns – standard anchors, button-styled links, and skip links – to identify dependable markup for assistive tech.
Accessible SVG patterns
CodePen
CodePen compares accessible SVG approaches – inline SVG, img, CSS background, and object – to reveal techniques that deliver consistent support.
Light/Dark mode with SVGs
CodePen
CodePen demonstrating accessible SVG theming with prefers-color-scheme so light and dark mode variations remain readable and inclusive.
Reduced motion text drawing using SVGs
CodePen
CodePen demonstrating accessible SVG motion handling with prefers-reduced-motion and calmer alternatives for people who limit animation.
Light/Dark mode + reduced motion with SVGs (Karma Chameleon)
CodePen
CodePen combines prefers-color-scheme and prefers-reduced-motion so animated SVG artwork adapts across light, dark, and reduced-motion settings.
Accessible SVG Pattern Comparison (old version)
CodePen
CodePen snippet preserving the older SVG pattern comparison version for browser and screen reader behavior reference.
Accessible SVGs
CodePen
CodePen collection of accessible SVG examples covering alternative text, ARIA labeling, theming, and motion preferences for vector graphics.
Accessible bee SVG with title
CodePen
CodePen demo of an accessible bee SVG that supplies its alternative text entirely through a single inline title element in the markup.
Accessible bee SVG with aria-labelledby + title
CodePen
CodePen demo of an accessible bee SVG that pairs an aria-labelledby attribute with an inline title element to expose an accessible name.
Accessible bee SVG with title + desc
CodePen
CodePen demo of an accessible bee SVG that uses both title and desc elements to provide a short name and a longer text description.
Accessible bee SVG with aria-labelledby + title + desc
CodePen
CodePen demo of an accessible bee SVG that combines aria-labelledby with title and desc elements for a fully described inline graphic.
Accessible bee SVG with alt text
CodePen
CodePen demo of an accessible bee SVG referenced through an img element and paired with clear, descriptive alternative text for it.
Deque University - Accessible Radio Buttons
CodePen
CodePen comparing accessible radio group patterns built with native HTML and ARIA so the behavior can be tested across assistive technologies.
Floating vote block
CodePen
CodePen snippet demonstrating an accessible floating vote block interaction pattern.













































