Skip to content

fix: highlight video el with no caption - #25

Open
danielmatthew wants to merge 9 commits into
mainfrom
fix-no-video-captions
Open

danielmatthew wants to merge 9 commits into
mainfrom
fix-no-video-captions

Conversation

@danielmatthew

Copy link
Copy Markdown
Owner

No description provided.

danielmatthew and others added 9 commits September 23, 2026 18:09
The previous selector, video:not(video > track), matched every video,
and the partial was never imported so it did not ship at all.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018z2Z3qN9ZawWK4VnZhhd1H
- Outline is 3px, uses !important so outline resets can't hide it, and
  reads its colour, width and offset from CSS custom properties.
- Checks now have a level: error (red) or warning (orange), and can show
  a short message via ::after where the element supports it.
- Migrate from the deprecated Sass @import to @use/@forward.

Existing checks:
- Labels that wrap their control are no longer flagged.
- Replace the th[id]/td[headers] rule, which flagged almost every table,
  with a warning for tables that have no <th> at all.
- Links without an href are now a warning, and links to "#" or
  "javascript:" are also flagged.
- Also catch empty lang/title values, input[type=image] and role=img
  without a name, audio autoplay, muted autoplay without controls, and
  more ways of disabling zoom.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018z2Z3qN9ZawWK4VnZhhd1H
Errors: missing or empty <title>, form controls with no label, empty
links, buttons and headings, positive tabindex, focusable content inside
aria-hidden, timed meta refresh, marquee and blink.

Warnings: fieldsets without a legend, non-li list children, accesskey,
autofocus and inline onclick on non-interactive elements.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018z2Z3qN9ZawWK4VnZhhd1H
The package never contained any CSS: dist/ was git-ignored, the release
never ran the build, and "main" pointed at a file that didn't exist.

- Build dist/inaccessible.css and dist/inaccessible.min.css, list them in
  "files" and point "main"/"style" at them. Build again on prepack.
- Update the release tooling. The old lockfile couldn't install
  (@semantic-release/changelog@5 needs semantic-release <18), and
  semantic-release needs a newer Node than 14.
- Release on Node 22 with current actions and explicit permissions.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018z2Z3qN9ZawWK4VnZhhd1H
Move the demo out of the ignored dist/ folder and turn it into fixtures:
each example is tagged data-expect="error|warning|none" (and optionally
data-message), and the Playwright suite fails if any element, tagged or
not, is highlighted differently. Also covers outline resets and the CSS
custom properties.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018z2Z3qN9ZawWK4VnZhhd1H
Husky 8+ ignores husky.config.js, so commitlint wasn't running. Replace
the outdated super-linter workflow with a build and test job, and lint
commit messages on pull requests.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018z2Z3qN9ZawWK4VnZhhd1H
commitlint 20+ pulls in @conventional-changelog/git-client, whose optional
peer conventional-commits-filter@6 conflicts with the v5 that
semantic-release's plugins install, and npm ci rejects the lockfile.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018z2Z3qN9ZawWK4VnZhhd1H
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.

2 participants