fix(docs): move feature icon inside <dt> for valid <dl> content model#1171
Conversation
Per HTML spec, a <div> child of <dl> may only contain <dt> and <dd> elements. The icon <span> was sitting as a sibling of <dt>/<dd>, which fails validation and can confuse assistive tech that relies on strict term/description pairing. The icon is semantically part of the term, so nesting it in <dt> is the natural fix.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe landing page feature list undergoes a markup and styling restructure. The CSS changes redefine Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying quickadd with
|
| Latest commit: |
259aa5a
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://4dced3ab.quickadd.pages.dev |
| Branch Preview URL: | https://fix-feature-dl-content-model.quickadd.pages.dev |
Summary
Follow-up to #1168. Post-merge review from Devin flagged that the feature grid in docs/src/pages/index.tsx:280-288 places a
<span className={styles.featureIcon}>as a direct child of the<div>that wraps each<dt>/<dd>pair.Per the HTML spec, when
<div>is a child of<dl>its content model is restricted to<dt>and<dd>(plus script-supporting elements). The icon span violates that, fails validation, and can confuse assistive tech that relies on strict term/description pairing.Fix
Moved the icon span inside
<dt>. The icon is semantically part of the term, so this is the natural home for it. The visual layout is unchanged — the<dt>is now a small flex column (icon chip above title text, 0.75rem gap), and the<div>now contains exactly<dt>+<dd>.Test plan
<div>inside<dl>has zero<span>children;<dt>contains icon span + title spanaria-hidden="true"on the icon span so screen readers read the term as just the title textSummary by CodeRabbit