ContentTypeStep: fix role/aria conflict and replace emoji with Lucide icons
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 94/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- next.js, react, typescript
- Domain
- accessibility, frontend
Research direction
Start in frontend/src/components/onboarding/ContentTypeStep.tsx, reading the icon definitions and card button rendering, then review .claude/skills/frontend-conventions. Run npx next lint and npm run build, and verify the onboarding cards in light and dark mode with no remaining emoji or role-supports-aria-props warning.
Written by the indexing model from the issue text.
Description
Context
The onboarding content-type cards declare role="checkbox" and aria-checked but also set aria-pressed. aria-pressed is not valid on a checkbox, and jsx-a11y/role-supports-aria-props flags it. The cards also use emoji as icons, which goes against the house rule "Lucide icons only, no emoji in UI" (CLAUDE.md → Brand).
Where
frontend/src/components/onboarding/ContentTypeStep.tsx:81-96:<button … aria-pressed={isSelected} role="checkbox" aria-checked={isSelected}>ContentTypeStep.tsx:10, 16, 22, 28, 34, 40:icon: '📱' | '🎬' | '✍️' | '🔀' | '📊' | '🎓'- the icon is rendered inside a
<span role="img" aria-hidden>further down the same file
What to do
- Remove
aria-pressedfrom the button and keeprole="checkbox"+aria-checked. - Change the
iconfield to a Lucide component (for exampleSmartphone,Clapperboard,PenLine,Shuffle,BarChart3,GraduationCap) and render it witharia-hidden="true". Drop therole="img"span. - See the
frontend-conventionsskill in.claude/skills/for the icon and colour conventions.
Acceptance criteria
-
npx next lintreports norole-supports-aria-propswarning for this file - No emoji code points remain in
ContentTypeStep.tsx - Screenshot of the onboarding step in light and dark mode attached
-
npm run buildpasses
Getting started
Read CONTRIBUTING.md for dev setup and the quality bar (no facades, evidence before done). Comment here to claim the issue.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 3
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 5
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from BeyondITL/contentine-create
-
good first issue level: 1 ui
Difficulty 2/5 1-3 hours Newbie friendliness 94/100
BeyondITL/contentine-create#58 ·
Maintainers usually reply within 1 day
-
Fix Enter on the marketplace Buy button opening details instead of buyingPossibly taken @developedbyBob claimed this 7 days ago. Openaccessibility claimed good first issue level: 1
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
BeyondITL/contentine-create#57 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Enable JSX in vitest so React component tests can runPossibly taken @29miaoet claimed this 7 days ago. Openclaimed good first issue level: 1 testing
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
BeyondITL/contentine-create#56 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
good first issue level: 1 testing
Difficulty 2/5 1-3 hours Newbie friendliness 94/100
BeyondITL/contentine-create#55 ·
Maintainers usually reply within 1 day
-
good first issue level: 1 testing
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
BeyondITL/contentine-create#54 ·
Maintainers usually reply within 1 day
All issues in BeyondITL/contentine-create
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
earendil-works/pi-claude-code#36 ·
Maintainers usually reply within 6 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
Resources: New work of jabodetabekPossibly taken @rmt-svc claimed this today. Openresources
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
railmapgen/rmp-gallery#4167 ·
Maintainers usually reply within 2 days
-
documentation p1
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
microsoft/monaco-editor#5577 ·
Maintainers usually reply within 1 day