Recently I was doing some mobile testing at PureGym as we’re getting ready to release some big updates to some new markets and an issue was raised.
We try to leverage the browser as much as possible and thus use the browsers native validation functoinality to ensure users have completed all forms fields correctly.
PureGym has a four step sign-up section to join a gym and step 3 is where the user would enter their sign-up details. Problem we were seeing is that validation was working fine on desktop Firefox but for Firefox on Android it was non-existant.
Going through the usual debugging process everything seemed to be in order, correct attributes on fields, correct html structure yet validation still didn’t work. Was it showing/hiding too fast for me to see? Checking Safari on iOS and Chrome on Android showed the validation working so this has to be specific to Firefox on Android.
I created a very simple plain html form incase it something in the existing codebase and that also didn’t work. It has to be a bug in Firefox - which would be a huge issue!
Looking at the Github I found an issue already reported, there is also another issue in bugzilla for Mozilla to track this internally. Turns out not all browsers from the same vendor are created equal. Firefox for Android uses the GeckoView engine which is very light-weight in size and implementation and thus does not have the functionality for constraint API (html validation). So basically Firefox for Android doesn’t support native validation and requires users to roll their own solution. Thankfully our Firefox usage is very low.
The bugzilla ticket has been open for 3 years so I don’t have any hopes for this being resolved anytime soon.