Mobile/Fennec/FormAssistant
From MozillaWiki
Form Assistant is a simple utility for entering data into web forms. Web pages can be zoomed in such a way to make it hard to click on input fields, read captions and move between inputs. The Form Assistant is designed to make these activities easier.
Features
- The form assistant is doing a distinction between devices and try to adapt its behavior based on the type of device and on the screen size.
- The different categories are: Android Phones, Android Tablets
Scroll to focused element | All |
Zoom in to focused element | Android Phones, optionally Android tablets |
Auto-complete popup | All |
Select UI | All |
Caret repositionning | All |
Customization
The behaviour of the form assistant can be customized using the preferences formhelper.mode and formhelper.autozoom.
- The formhelper.mode preference controls whether the functionality of scrolling and zooming to the focused element, including reposition the caret if appropriate, is enabled. (Note that the selection UI and auto-complete cannot currently be disabled.) The possible values are:
- 0 - Always disable this functionality
- 1 - Always enable this functionality
- 2 - Enable both scrolling and zooming on phones; enable only scrolling on tablets. This is the default.
- The formhelper.autozoom preference can be used to turn off zooming on phones as well by seting it to false (the default value is true).
- Note that the older formhelper.autozoom.caret and formhelper.restore preferences have been removed. See bug 834613 for details.
Pain points
- Inputs on web pages are rarely large enough to easily tap on them to focus. Mainly due to zoom setting.
- Moving between inputs is hard because tapping on them is hard and we have no hard keys to move between them.
- Tab order can't be determined because we don't have a TAB key to move betwen inputs.
- [madhava] isn't the issue more just that there's no tab key, so without the assistant there's no way to easily proceed from field to field?
- Caption text can be hard to read if the page is zoomed out or fitted to screen.
Requirements
- Make it easy to begin entering data into inputs.
- Make it easy to move between inputs, in the given tab order.
- put onscreen controls near the keyboard (bottom of the screen), given that people are using the keyboard when interacting with a form
- allow up and down keys on the keyboard to move user between form fields in the same way as the assistant
- ensure that a user can free-form pan the page while the form assistant is open; even if the assistant always gets zooming and positioning exactly right (unlikely), there are situations like CAPTCHAs where the user needs to refer to something on the page in order to fill in a field
- original spec (basic use case): https://bug486184.bugzilla.mozilla.org/attachment.cgi?id=390510
Questions
- Should we handle checkboxes/radio buttons?
- Some webpage has a kind of autofocus (eg. google.com) do we want that the form assistant appears?
The content.ime.strict_policy prevent the VKB to be opened on such autofocus as on script focus. We need a user interaction.
Bugs
For open bugs about the form assistant see:
https://bugzilla.mozilla.org/buglist.cgi?cmdtype=runnamed&namedcmd=formfill