Merged
Conversation
- Add Radio compound component (Group, Root, Indicator, HiddenInput) - Uses createSingle for single-selection with roving tabindex - Add isTabbable to SingleTicket for roving tabindex pattern - Override register/onboard in createSingle to attach isTabbable - Add Radio to API popover whitelist - Add documentation page with examples
- Add IN_BROWSER guard around document.querySelector in arrow key navigation to prevent SSR errors - Add ariaRequired prop to RadioGroup for form validation accessibility - Remove redundant isNullOrUndefined check in RadioHiddenInput - Add comprehensive arrow key navigation tests (8 new tests) - Document aria-required in accessibility section
Replace document.querySelector with registered element refs for arrow key navigation. Fixes disabled radios being tabbable.
|
commit: |
- Add RadioTicket interface extending SingleTicket with el property - Remove `as any` casts now that el is properly typed - Standardize prop naming convention (_name instead of nameProp) - Remove redundant comments
Remove unsafe double type assertion in RadioRoot element ref handling. Add 14 tests covering edge cases: empty group, dynamic items, inherent mandatory behavior, aria-invalid, renderless indicator, object serialization, and form attribute association.
909d6f4 to
fd59d09
Compare
Radio groups are inherently mandatory - selection can only be changed, not cleared. Reword section to focus on mandatory="force" which is the only meaningful option (auto-selects first item on mount).
Update API generator to extract @example tags from component prop/slot JSDoc. Add examples to Radio component for disabled, mandatory, label, name, value, form, aria-invalid props and default slots.
- Auto-detect Vue vs TypeScript for Shiki highlighting - Wrap component examples in <template> tags for proper syntax highlighting - Use v-on:click instead of @click to avoid JSDoc tag parsing issues
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.
Summary
createSinglecomposable with roving tabindexnameprop providedelproperty toSingleTicketfor direct element ref registrationComponents
Radio.GroupRadio.RootRadio.IndicatorRadio.HiddenInputAccessibility
role="radiogroup"/role="radio"aria-checked,aria-disabled,aria-required,aria-labelTest plan