better-forms
Provides a comprehensive guide for creating accessible, high-UX forms using modern web technologies like React and Tailwind.
Install this skill
Security score
The better-forms skill was audited on Feb 27, 2026 and we found 14 security issues across 3 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 212 | aria-label={`Digit ${index + 1} of ${length}`} |
Template literal with variable interpolation in command context
| 502 | `/api/check-username?username=${encodeURIComponent(value)}` |
Template literal with variable interpolation in command context
| 613 | const errorId = `${dropzoneId}-error`; |
Template literal with variable interpolation in command context
| 622 | setError(`${file.name} exceeds maximum size`); |
Template literal with variable interpolation in command context
| 680 | {accept && `Accepted: ${accept}`} |
Template literal with variable interpolation in command context
| 681 | {maxSize && ` (Max: ${formatBytes(maxSize)})`} |
Template literal with variable interpolation in command context
| 722 | const listboxId = `${inputId}-listbox`; |
Template literal with variable interpolation in command context
| 774 | aria-activedescendant={activeIndex >= 0 ? `${listboxId}-option-${activeIndex}` : undefined} |
Template literal with variable interpolation in command context
| 799 | id={`${listboxId}-option-${index}`} |
Template literal with variable interpolation in command context
| 854 | onChange={(e) => onChange(`${e.target.value}-${day}-${year}`)} |
Template literal with variable interpolation in command context
| 1343 | const descriptionId = `${id}-desc`; |
Template literal with variable interpolation in command context
| 1344 | const errorId = `${id}-error`; |
Fetch to external URL
| 417 | const response = await fetch("/api/register", { |
External URL reference
| 881 | // See: https://react-day-picker.js.org/guides/accessibility |