https://github.com/byjackli/sadforms
low-level accessible forms designed for Svelte programmers.
https://github.com/byjackli/sadforms
accessible form-validation forms frontend svelte svelte-components ui validation
Last synced: 5 months ago
JSON representation
low-level accessible forms designed for Svelte programmers.
- Host: GitHub
- URL: https://github.com/byjackli/sadforms
- Owner: byjackli
- License: apache-2.0
- Created: 2022-03-08T20:55:23.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-07-21T12:33:07.000Z (12 months ago)
- Last Synced: 2025-10-30T23:47:15.324Z (8 months ago)
- Topics: accessible, form-validation, forms, frontend, svelte, svelte-components, ui, validation
- Language: Svelte
- Homepage: https://sadforms.com/
- Size: 7.66 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README




Sad Forms
low-level accessible forms designed for Svelte programmers
Live Demo »
Website
•
Donate
•
Documentation
•
Feedback
## About
Three quarter’s into first release, I discovered there already exists a plethora of Svelte form solutions. Oops. We’ll just call it reinventing the wheel or understanding/appreciating the wheel on a deeper level, whatever floats yer boat.
Sad Forms is a byproduct of another, much larger, passion project.
I’ve forgotten the initial solution Sad Forms was designed to solve, but accessibility is top priority! I am aware areas of the form can be improved, such as printable character navigation for dropdown/selects or live file previews, and I’m doing my best to deliver (because I also need it for my main passion project).
See the [roadmap](https://sadforms.com/docs/roadmap) for list of upcoming features and the version logs.
## Feature Highlight
Sad Forms currently supports most of the popular HTML input elements while enhancing others. For a complete list of working and upcoming fields, see [Supported Fields](https://sadforms.com/docs/roadmap#Supported-Fields) section.
* ♿ a11y tested on desktop (NVDA) and mobile (TalkBack, VoiceOver)
* 🎨 easily change UI by loading in your own CSS file
* ✏ customizable dropdown with “add an option” feature
* ❓ complex form validation
* 🔏 redact inactive fields
* 📴 offline mode via localStorage
... and more!
Discover other features by exploring the documentation or tinkering with the built-in form builder, see [Sample Form](https://sadforms.com/edit#sample%7C) for an immediate example.
## Setup
0. Pre-requisite: SvelteKit is installed. See [SvelteKit](https://kit.svelte.dev) website for help.
1. `npm install sadforms`
2. `import Form from “sadforms”;`
3. add the `` component
4. load your custom values
still not sure how to proceed? try [https://sadforms.com/docs](https://sadforms.com/docs)
## Form Builder
Unless you’re somehow dynamically creating sign-up/log-in forms on the fly, feel free to utilize the online [form builder tool](https://sadforms.com) to quickly create static forms. Diagnose and view changes live in the browser.
The form builder tool is rich with debug mode and type-check-free function previewing.
See the [roadmap](https://sadforms.com/docs/roadmap) for list of upcoming features.

## House Keeping
* [Apache License 2.0](./LICENSE).
* [Code of Conduct](./CODE_OF_CONDUCT.md)
* [Contributing](./CONTRIBUTING.md)
## Contributing
Sad Forms is created and maintained by Jack Li. He is reachable through [twitter](https://twitter.com/byjackli) and email via