Repository navigation
fix(feature-list): render a framework without an API reference as a non-link - #451
Merged
Merged
Conversation
…on-link A framework cell with no apiUrl rendered an <a> with no href: withCurrentDocsPath returns undefined, React omits the attribute, and the chip stayed a link that is not keyboard-focusable, navigates nowhere and still shows the link hover. 16 cells in features.json reach that branch. It now renders a <span> with a dashed border, a dimmed colour token that keeps AA contrast (the old opacity rule composited to 3.19:1), and a visually hidden "(not available)" so screen readers get the same signal. The framework column's container, which was display: none, gets a minimal wrapping layout so the chips are legible. Latent today: all 50 FeatureList usages pass displayMode="compact", which skips this column. Split out of #418, which is being closed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
- The hidden text says "(no API reference)" instead of "(not available)": every chip in this column is a framework that supports the feature. - Drop aria-disabled: a plain span is not a control, and ARIA 1.2 does not allow the attribute on generic elements. - Shorten the title to "No API reference" so screen readers don't announce the name and version twice. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
moritzhartmeier
approved these changes
Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split out of #418, which is being closed. This was the one change there that stands on its own.
The bug
In the non-compact table view, a framework cell with no
apiUrlrendered an<a>with nohref.withCurrentDocsPath(undefined)returnsundefined, React drops the attribute, and the chip stays a link that:16 cells in
features.jsonreach this branch. 17 have noapiUrl; the 17th, Web / 7-Segment Display, is filtered out earlier byversion === "n/a".The change
index.tsx: a missingapiUrlnow renders a<span>rather than an<a>, the same pattern the feature-name cell uses (<a>becomes<h4>). It hasaria-disabled, atitle, and a visually hidden "(not available)" so screen readers can tell it apart.styles.module.css:--ifm-color-emphasis-700instead ofopacity: 0.5. The opacity version composited to 3.19:1 in light mode, below AA; the new colours measure 5.29:1 light and 12.26:1 dark..frameworkListchanges fromdisplay: noneto a wrapping flex row, so the column shows its content under its own header.Scope
Latent today: all 50
<FeatureList>usages passdisplayMode="compact", which skips this column. Whether the non-compact view should exist at all was raised in #418's review and is out of scope here.Verified
tsc --noEmitis clean.verify:frameworkspasses.The 16/17 and 50 counts were rechecked against current
main.Merge note
This touches the same
hrefline as #447, which changeswithCurrentDocsPath(...)toapiReferenceUrl(..., activeVersionName). Whichever merges second has a one-line conflict: keep the<a>/<span>split from here and theapiReferenceUrlcall from #447.🤖 Generated with Claude Code