Commit d990c81
feat: 50 component-level improvements — accessibility, UX, error handling, polish
Smarter defaults (10):
- inputMode for numeric/email/url/tel fields
- Capitalize enum display values in pills and dropdowns
- type="submit" on primary footer button
Accessibility (10):
- aria-invalid, aria-activedescendant, aria-label on all widgets
- Semantic <header> and <footer> elements
- role="switch" with state on toggle
- Full date/time aria-label on datetime block
UX patterns (15):
- Character count shows only at >80% of maxLength
- People picker and tag input show count badges
- Wizard completed steps show checkmark SVG
- Step labels below wizard circles
- Progressive disclosure + icon rotates to x
- Relative time display on datetime ("in 2h")
- Arrow keys hint on number input focus
- Subtle header bottom border
Error handling (10):
- Red border on ALL widgets when validation fails
- Scroll to first error field on submit
- Focus first error input after scrolling
Polish (5):
- data-formweave attribute on root form
- Semantic HTML elements throughout
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 9c381b2 commit d990c81
15 files changed
Lines changed: 2048 additions & 5318 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
321 | 321 | | |
322 | 322 | | |
323 | 323 | | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
324 | 352 | | |
325 | 353 | | |
326 | 354 | | |
| |||
344 | 372 | | |
345 | 373 | | |
346 | 374 | | |
347 | | - | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
348 | 378 | | |
349 | 379 | | |
350 | 380 | | |
| |||
539 | 569 | | |
540 | 570 | | |
541 | 571 | | |
542 | | - | |
| 572 | + | |
543 | 573 | | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
544 | 589 | | |
545 | 590 | | |
546 | 591 | | |
| |||
806 | 851 | | |
807 | 852 | | |
808 | 853 | | |
| 854 | + | |
809 | 855 | | |
810 | 856 | | |
811 | 857 | | |
| |||
0 commit comments