Skip to content

docs(site): add accessibility concepts page#1007

Merged
decepulis merged 5 commits intomainfrom
docs/accessibility
Mar 19, 2026
Merged

docs(site): add accessibility concepts page#1007
decepulis merged 5 commits intomainfrom
docs/accessibility

Conversation

@decepulis
Copy link
Copy Markdown
Collaborator

@decepulis decepulis commented Mar 18, 2026

Add an accessibility concepts page to the docs site covering the standards Video.js targets (WAI-ARIA, WCAG, CVAA), built-in ARIA roles and labels, keyboard interaction patterns, focus management, captions, and color scheme / reduced motion preferences.

Copilot AI review requested due to automatic review settings March 18, 2026 15:49
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
v10-sandbox Ready Ready Preview, Comment Mar 19, 2026 7:07pm

Request Review

@netlify
Copy link
Copy Markdown

netlify bot commented Mar 18, 2026

Deploy Preview for vjs10-site ready!

Name Link
🔨 Latest commit 1d2dd30
🔍 Latest deploy log https://app.netlify.com/projects/vjs10-site/deploys/69bc49801a85310008ca07e5
😎 Deploy Preview https://deploy-preview-1007--vjs10-site.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 18, 2026

📦 Bundle Size Report

🎨 @videojs/html — no changes
Presets (7)
Entry Size
/video (default) 23.19 kB
/video (default + hls) 153.71 kB
/video (minimal) 23.06 kB
/video (minimal + hls) 153.59 kB
/audio (default) 21.48 kB
/audio (minimal) 21.43 kB
/background 6.38 kB
Media (5)
Entry Size
/media/background-video 1.03 kB
/media/container 1.59 kB
/media/dash-video 236.04 kB
/media/hls-video 131.57 kB
/media/simple-hls-video 12.33 kB
Players (3)
Entry Size
/video/player 6.24 kB
/audio/player 6.23 kB
/background/player 6.22 kB
Skins (16)
Entry Type Size
/video/minimal-skin.css css 3.12 kB
/video/skin.css css 3.15 kB
/video/minimal-skin js 22.25 kB
/video/minimal-skin.tailwind js 22.49 kB
/video/skin js 22.42 kB
/video/skin.tailwind js 22.73 kB
/audio/minimal-skin.css css 2.28 kB
/audio/skin.css css 2.30 kB
/audio/minimal-skin js 20.66 kB
/audio/minimal-skin.tailwind js 20.69 kB
/audio/skin js 20.66 kB
/audio/skin.tailwind js 20.93 kB
/background/skin.css css 117 B
/background/skin js 1003 B
/base.css css 157 B
/shared.css css 86 B
UI Components (21)
Entry Size
/ui/alert-dialog 2.08 kB
/ui/alert-dialog-close 1.63 kB
/ui/alert-dialog-description 1.52 kB
/ui/alert-dialog-title 1.55 kB
/ui/buffering-indicator 1.78 kB
/ui/captions-button 1.79 kB
/ui/controls 1.59 kB
/ui/fullscreen-button 1.81 kB
/ui/mute-button 1.78 kB
/ui/pip-button 1.80 kB
/ui/play-button 1.82 kB
/ui/playback-rate-button 1.81 kB
/ui/popover 3.27 kB
/ui/poster 1.75 kB
/ui/seek-button 1.80 kB
/ui/slider 2.02 kB
/ui/thumbnail 2.12 kB
/ui/time 1.68 kB
/ui/time-slider 2.12 kB
/ui/tooltip 2.40 kB
/ui/volume-slider 2.26 kB

Sizes are marginal over the root entry point.

⚛️ @videojs/react — no changes
Presets (7)
Entry Size
/video (default) 19.00 kB
/video (default + hls) 149.82 kB
/video (minimal) 19.03 kB
/video (minimal + hls) 149.71 kB
/audio (default) 14.93 kB
/audio (minimal) 15.05 kB
/background 3.13 kB
Media (4)
Entry Size
/media/background-video 476 B
/media/dash-video 236.19 kB
/media/hls-video 131.59 kB
/media/simple-hls-video 12.34 kB
Skins (14)
Entry Type Size
/video/minimal-skin.css css 3.12 kB
/video/skin.css css 3.15 kB
/video/minimal-skin js 18.93 kB
/video/minimal-skin.tailwind js 22.13 kB
/video/skin js 18.95 kB
/video/skin.tailwind js 22.14 kB
/audio/minimal-skin.css css 2.28 kB
/audio/skin.css css 2.30 kB
/audio/minimal-skin js 14.94 kB
/audio/minimal-skin.tailwind js 17.02 kB
/audio/skin js 14.88 kB
/audio/skin.tailwind js 17.25 kB
/background/skin.css css 90 B
/background/skin js 272 B
UI Components (18)
Entry Size
/ui/alert-dialog 2.24 kB
/ui/buffering-indicator 2.21 kB
/ui/captions-button 2.25 kB
/ui/controls 2.24 kB
/ui/fullscreen-button 2.27 kB
/ui/mute-button 2.26 kB
/ui/pip-button 2.27 kB
/ui/play-button 2.24 kB
/ui/playback-rate-button 2.27 kB
/ui/popover 2.87 kB
/ui/poster 2.08 kB
/ui/seek-button 2.27 kB
/ui/slider 3.17 kB
/ui/thumbnail 2.01 kB
/ui/time 1.93 kB
/ui/time-slider 2.65 kB
/ui/tooltip 2.69 kB
/ui/volume-slider 2.68 kB

Sizes are marginal over the root entry point.

🧩 @videojs/core — no changes
Entries (6)
Entry Size
. 4.81 kB
/dom 8.41 kB
/dom/media/custom-media-element 1.81 kB
/dom/media/dash 235.62 kB
/dom/media/hls 131.27 kB
/dom/media/simple-hls 11.85 kB
🏷️ @videojs/element — no changes
Entries (2)
Entry Size
. 999 B
/context 943 B
📦 @videojs/store — no changes
Entries (3)
Entry Size
. 1.32 kB
/html 700 B
/react 360 B
🔧 @videojs/utils — no changes
Entries (10)
Entry Size
/array 104 B
/dom 1.25 kB
/events 227 B
/function 261 B
/object 119 B
/predicate 265 B
/string 148 B
/style 190 B
/time 478 B
/number 158 B
📦 @videojs/spf — no changes
Entries (3)
Entry Size
. 40 B
/dom 10.04 kB
/playback-engine 9.94 kB

ℹ️ How to interpret

All sizes are standalone totals (minified + brotli).

Icon Meaning
No change
🔺 Increased ≤ 10%
🔴 Increased > 10%
🔽 Decreased
🆕 New (no baseline)

Run pnpm size locally to check current sizes.

@decepulis decepulis marked this pull request as draft March 18, 2026 15:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “Accessibility” concepts page to the docs site, documenting the accessibility standards and interaction patterns Video.js targets, and exposes it via the Concepts sidebar navigation.

Changes:

  • Added new concepts/accessibility MDX guide covering standards, ARIA, keyboard interaction, focus, captions, color scheme, and reduced motion.
  • Added the new page to the Concepts section of the docs sidebar.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
site/src/docs.config.ts Adds concepts/accessibility to the Concepts sidebar list.
site/src/content/docs/concepts/accessibility.mdx Introduces the new accessibility concepts documentation page.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread site/src/content/docs/concepts/accessibility.mdx Outdated
Comment thread site/src/content/docs/concepts/accessibility.mdx Outdated
Comment thread site/src/content/docs/concepts/accessibility.mdx Outdated
…ing sections

Add ADA to standards list, new sections for color contrast, touch
targets, and assistive technology testing. Simplify existing ARIA,
keyboard, and focus sections to use examples instead of exhaustive
lists, deferring details to each component's reference page. Fix
inaccuracies in pre-existing text (tooltip role, tabindex scope).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Link assistive technologies, screen readers, FCC, VoiceOver, NVDA,
JAWS, and all CSS media queries to their reference pages so beginners
can learn more without leaving the guide.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove redundant media query explanation from color contrast section,
trim filler from further reading intro.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@decepulis decepulis marked this pull request as ready for review March 18, 2026 16:42
mihar-22
mihar-22 previously approved these changes Mar 19, 2026
Copy link
Copy Markdown
Member

@mihar-22 mihar-22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect to my eyes ✅


Built-in skins respond to [`prefers-contrast: more`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast) by increasing background opacity on overlays and controls. They also respond to [`prefers-reduced-transparency: reduce`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency) by raising baseline opacity so text stays readable over video.

Custom components should test against [WCAG 1.4.3 (contrast minimum)](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum) and [1.4.11 (non-text contrast)](https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast) to make sure controls and text remain visible over video content.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

common "gotcha" that might be worth calling out for customizers - folks often forget to consider the contrast of their controls with the underlying media, which changes. we, e.g., used big buck bunny's title panel to make sure mostly white video would still be usable. Harder to catch with A11Y tools.

@decepulis decepulis merged commit 3f7ef2d into main Mar 19, 2026
5 of 7 checks passed
@decepulis decepulis deleted the docs/accessibility branch March 19, 2026 19:07
@github-actions github-actions bot mentioned this pull request Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants