Skip to content

fix(html): replace display:contents with proper container sizing#812

Open
sampotts wants to merge 1 commit intomainfrom
fix/html-container
Open

fix(html): replace display:contents with proper container sizing#812
sampotts wants to merge 1 commit intomainfrom
fix/html-container

Conversation

@sampotts
Copy link
Collaborator

@sampotts sampotts commented Mar 10, 2026

Summary

  • Replaces display: contents on <video-player> with a new @videojs/html/base.css light-DOM stylesheet that sets proper display: block sizing on player and media elements, fixing accessibility tree exposure. Consumers need to include this base.css file in their own apps.
  • Updates all sandbox templates, site code examples, and CDN snippets to import base.css

@netlify
Copy link

netlify bot commented Mar 10, 2026

Deploy Preview for vjs10-site ready!

Name Link
🔨 Latest commit 4c7b103
🔍 Latest deploy log https://app.netlify.com/projects/vjs10-site/deploys/69b0e2f21d35210008e4fd3a
😎 Deploy Preview https://deploy-preview-812--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.

@vercel
Copy link

vercel bot commented Mar 10, 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 11, 2026 3:35am

Request Review

@github-actions
Copy link
Contributor

github-actions bot commented Mar 10, 2026

📦 Bundle Size Report

🎨 @videojs/html

(no changes)

Presets (7)
Entry Size
/video (default) 21.68 kB
/video (default + hls) 152.02 kB
/video (minimal) 21.50 kB
/video (minimal + hls) 151.92 kB
/audio (default) 20.22 kB
/audio (minimal) 20.22 kB
/background 6.35 kB
Media (4)
Entry Size
/media/background-video 617 B
/media/container 1.86 kB
/media/hls-video 131.32 kB
/media/simple-hls-video 11.54 kB
Players (3)
Entry Size
/video/player 6.22 kB
/audio/player 6.21 kB
/background/player 6.21 kB
Skins (15)
Entry Type Size
/video/minimal-skin.css css 2.74 kB
/video/skin.css css 2.80 kB
/video/minimal-skin js 20.95 kB
/video/minimal-skin.tailwind js 20.87 kB
/video/skin js 21.12 kB
/video/skin.tailwind js 21.11 kB
/audio/minimal-skin.css css 2.17 kB
/audio/skin.css css 2.20 kB
/audio/minimal-skin js 19.67 kB
/audio/minimal-skin.tailwind js 19.42 kB
/audio/skin js 19.68 kB
/audio/skin.tailwind js 19.65 kB
/background/skin.css css 124 B
/background/skin js 999 B
/base.css css 203 B
UI Components (21)
Entry Size
/ui/alert-dialog 2.05 kB
/ui/alert-dialog-close 1.22 kB
/ui/alert-dialog-description 1.16 kB
/ui/alert-dialog-title 1.17 kB
/ui/buffering-indicator 1.71 kB
/ui/captions-button 1.82 kB
/ui/controls 1.79 kB
/ui/fullscreen-button 1.77 kB
/ui/mute-button 1.79 kB
/ui/pip-button 1.77 kB
/ui/play-button 1.77 kB
/ui/playback-rate-button 1.80 kB
/ui/popover 3.06 kB
/ui/poster 1.66 kB
/ui/seek-button 1.81 kB
/ui/slider 2.22 kB
/ui/thumbnail 2.08 kB
/ui/time 1.85 kB
/ui/time-slider 2.92 kB
/ui/tooltip 2.42 kB
/ui/volume-slider 2.19 kB

Sizes are marginal over the root entry point.

⚛️ @videojs/react

(no changes)

Presets (7)
Entry Size
/video (default) 16.67 kB
/video (default + hls) 147.47 kB
/video (minimal) 16.72 kB
/video (minimal + hls) 147.54 kB
/audio (default) 14.39 kB
/audio (minimal) 14.41 kB
/background 3.14 kB
Media (3)
Entry Size
/media/background-video 539 B
/media/hls-video 131.60 kB
/media/simple-hls-video 11.92 kB
Skins (14)
Entry Type Size
/video/minimal-skin.css css 2.74 kB
/video/skin.css css 2.80 kB
/video/minimal-skin js 16.61 kB
/video/minimal-skin.tailwind js 19.17 kB
/video/skin js 16.61 kB
/video/skin.tailwind js 19.24 kB
/audio/minimal-skin.css css 2.17 kB
/audio/skin.css css 2.20 kB
/audio/minimal-skin js 14.34 kB
/audio/minimal-skin.tailwind js 16.13 kB
/audio/skin js 14.27 kB
/audio/skin.tailwind js 16.34 kB
/background/skin.css css 90 B
/background/skin js 272 B
UI Components (17)
Entry Size
/ui/alert-dialog 2.70 kB
/ui/buffering-indicator 2.20 kB
/ui/captions-button 2.26 kB
/ui/controls 2.19 kB
/ui/fullscreen-button 2.28 kB
/ui/mute-button 2.23 kB
/ui/pip-button 2.26 kB
/ui/play-button 2.25 kB
/ui/playback-rate-button 2.24 kB
/ui/popover 3.10 kB
/ui/poster 2.05 kB
/ui/seek-button 2.25 kB
/ui/slider 3.09 kB
/ui/time 2.36 kB
/ui/time-slider 3.24 kB
/ui/tooltip 3.20 kB
/ui/volume-slider 3.08 kB

Sizes are marginal over the root entry point.

🧩 @videojs/core

(no changes)

Entries (5)
Entry Size
. 4.78 kB
/dom 8.02 kB
/dom/media/custom-media-element 1.77 kB
/dom/media/hls 131.18 kB
/dom/media/simple-hls 11.43 kB

🏷️ @videojs/element

(no changes)

Entries (2)
Entry Size
. 999 B
/context 936 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 1003 B
/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 9.67 kB
/playback-engine 9.60 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.

@github-actions
Copy link
Contributor

CI Failure Diagnosis

File Type What failed
packages/html/src/define/skin-mixin.ts typecheck TS6133: ensureStyles is declared but its value is never read (line 7).

Stop using `display: contents` on `<video-player>` which breaks
accessibility tree exposure. Instead, add a `base.css` light-DOM
stylesheet that sets `display: block` and proper sizing on the
player and media elements, and move the native caption bridge
styles there.

- Add `@videojs/html/base.css` with player/media layout + caption bridge
- Update all sandbox templates and site code examples

Closes #808

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant