[Markdown] Task list checkboxes have generic accessible name "Checkbox"
Describe the bug
Markdown renders task lists via CheckboxList/CheckboxListItem, but every checkbox's accessible name is the generic string "Checkbox" instead of the item's text.
Repro (0.5.2, 0.6.1 same):
import { Markdown } from "@astryxdesign/core/Markdown";
<Markdown>{"- [ ] first task\n- [x] second task"}</Markdown>Inspect the two input[type="checkbox"] elements. Each has an associated <label> whose text is "Checkbox" (the fallback t('@astryx.checkboxList.item.checkbox')), not "first task" / "second task". Screen readers announce "Checkbox, not checked" twice.
CheckboxListItem already documents that a rich label requires aria-label:
A string
labelnames the checkbox automatically. A rich (ReactNode)labelcannot, so pass a concise string equivalent via the standardaria-label— otherwise the checkbox falls back to the generic name "Checkbox" and every rich-label item in a list announces identically to screen readers.
Markdown builds rich labels (inline markdown) without passing aria-label, so it always hits the fallback.
Expected: each checkbox's accessible name equals the item's text (e.g. "first task"), derived as plain text from the item's markdown, while the visible label keeps rich formatting (bold/links).
Suggested fix: in packages/core/src/Markdown/Markdown.tsx list rendering, pass aria-label={plainText(itemText)} to CheckboxListItem when label is a ReactNode. The dev warning in CheckboxListItem already flags this pattern — the fix is ~5 lines and has no visual change.
Context: found while building a read-path workaround in a consumer app. The app now works around it locally by splitting task blocks and setting aria-label itself, but it would be better fixed upstream. Happy to open a PR (aria-label only — mixed-list rendering is a separate issue).
Source: facebook/astryx