Live data from Hacker News

There's 200 form builders, but none do what a programmer can, so I built my own

blog.keenforms.com

31–40 of 82 posts

Re: There's 200 form builders, but none do what a programmer can, so I built my own

#31
post #3

And now there's 201!

… and that’s not a bad thing! I don’t know what the opposite of “Not Invented Here Syndrome” is. But these days I swear all anyone wants to do is MacGyver together three dozens layers and frameworks and pray the spit holds it together. If you know what you want, and no tools does it, then just roll your own. Inventing Things Here is criminally underrated.

thanks man, I appreciate it.

Re: There's 200 form builders, but none do what a programmer can, so I built my own

#33

Earlier quoted context omitted.

so there is a good reason for this - I've learned the hard way that you cannot trust the number input, it has some very strange behavior. I could write a blog post just about that issue. I plan to create my own custom number input that has its own increment/decrement buttons. The thing was built with react and the number input has some unanticipated side effects.

> I plan to create my own custom number input that has its own increment/decrement buttons. How will you handle users who have javascript disabled? Why reinvent the wheel? Why not fix whatever problem you have with numeric input?

> How will you handle users who have javascript disabled?

They won't/can't. Their only real options are to fallback to either the "text" field or the "numeric" field.

> Why reinvent the wheel? Why not fix whatever problem you have with numeric input?

JS devs will prioritize chasing after their ideal UIX long before they consider things like JS being disabled, screen readers, ARIA tags, cross-platform compatibility, etc.

There's countless replacements for long-supported HTML input fields that still get active development: date pickers, numeric inputs, sliders, you name it. If it exists in the base W3C spec someone has likely reinvented the wheel for every purpose from pixel-perfect skeuomorphism, to aggressive input masking, to "instant feedback," to vaguely claiming "you cannot trust the number input" - the list goes on and on.

---

OP if you're reading this - I hope you're considering JS being disabled (graceful + functional fallbacks), ARIA, aggressive cross-platform testing, and testing with real screen readers. If you aren't, this is not an accessible service.

Re: There's 200 form builders, but none do what a programmer can, so I built my own

#35

I tried out the demo and was dissapointed that for number inputs a regular ` ` is used. This removes any option to add numbers by using the arrow up keys on a keyboard. Another thing I noticed is that your blog loads very slow, but that might be because this article is rather popular now.

> I tried out the demo and was dissapointed that for number inputs a regular `` is used. This removes any option to add numbers by using the arrow up keys on a keyboard.

Do not ever use the number input type, for any purpose.

If you have a number element on your form, people will accidentally mangle their own inputs, because the value in such an element silently changes when you use the mouse wheel.

Re: There's 200 form builders, but none do what a programmer can, so I built my own

#36

Earlier quoted context omitted.

That's fair, I might have to revisit the number input issue. I totally get your complaint. Experimenting with the number input was a learning experience. I built Keenforms with React, and both React and Angular have some strange behaviors related to number inputs.

As a web designer with a speciality in a11y, it hurts that you deemed this not important enough to find the true cause of your issue with the number input. I hope you can revisit this in a future update!

https://technology.blog.gov.uk/2020/02/24/why-the-gov-uk-des...

Re: There's 200 form builders, but none do what a programmer can, so I built my own

#38

Earlier quoted context omitted.

That's fair, I might have to revisit the number input issue. I totally get your complaint. Experimenting with the number input was a learning experience. I built Keenforms with React, and both React and Angular have some strange behaviors related to number inputs.

As a web designer with a speciality in a11y, it hurts that you deemed this not important enough to find the true cause of your issue with the number input. I hope you can revisit this in a future update!

> As a web designer with a speciality in a11y

This is hard to believe - as I remark above, the accessibility issues with the number input type are extreme. It's much, much worse than any alternative, including a plain text input type.

`` is something that might be recommended blindly on the basis of a checklist, but not something that might be recommended by anyone familiar with relevant concepts.

Re: There's 200 form builders, but none do what a programmer can, so I built my own

#40

I tried out the demo and was dissapointed that for number inputs a regular ` ` is used. This removes any option to add numbers by using the arrow up keys on a keyboard. Another thing I noticed is that your blog loads very slow, but that might be because this article is rather popular now.

> I tried out the demo and was dissapointed that for number inputs a regular ` ` is used. This removes any option to add numbers by using the arrow up keys on a keyboard. Do not ever use the number input type, for any purpose. If you have a number element on your form, people will accidentally mangle their own inputs, because the value in such an element silently changes when you use the mouse wheel.

My iPhone does not have mouse wheel :sad_panda:
Post reply on HN