Designing a feedback widget for mobile screens
Put the trigger in a bottom corner where thumbs reach, keep the form short, and test the panel with the keyboard open. Move the floating button away from your tab bar, or hide it and open the widget from your own menu.
By Rafael Thayto · Last updated
Where the thumb reaches on a phone
On a phone, the bottom corners are the easiest places to tap with a thumb. The Escuta Produto widget puts its floating button there by default, on the right, with data-position="right". If your visitors skew left-handed or your interface already uses the right corner for a control, set data-position="left" and compare.
The panel itself is at most 360 pixels wide and never wider than the screen minus 16 pixels on each side. The four type buttons share one row, so their labels stay short. The star ratings are the weak spot: each star is a small button, so a visitor with large thumbs may miss one. If rating matters to you, consider making it optional on mobile and checking the tap target on a real device.
What the keyboard covers
When a visitor taps the message box, the phone keyboard opens and takes up a large part of the screen. The widget focuses the message box about 30 milliseconds after the panel opens, so the keyboard appears right away. That is helpful for typing, but it means the visitor is looking at the top of the form while the bottom of the panel may be hidden.
The panel is fixed to the bottom of the screen. Its maximum height is the screen height minus 100 pixels, and it scrolls inside itself, so the message box, the rating, the email field and the send button can all be reached by scrolling the panel. The widget sizes itself with vh units and does not read the visual viewport, so how the panel fits with the keyboard open depends on the browser. Test on iOS Safari and on Android Chrome with a real keyboard open. An emulator does not show the keyboard behavior accurately.
The form order matters on a phone. The widget shows the type buttons, then the message, then the rating, then the optional email field, then the send button. Visitors who already typed a message will usually reach the email field last, which is what you want. Do not add more required fields above the message.
Bottom navigation and the floating button
Many mobile sites use a fixed tab bar along the bottom. The floating button sits 20 pixels above the bottom edge and 20 pixels from the chosen side. That is exactly where the last or first item of a tab bar sits. The widget uses very high stacking values, so the open panel and the button draw over your tab bar. The panel will cover the tabs when open, and the button will sit on top of a tab when closed.
There are two practical fixes:
- Move the floating button with
data-position="left"if your left-most tab matters less than the right-most one. - Hide the floating button with
data-trigger="none", then add a "Send feedback" item to your own menu and give it thedata-escuta-openattribute.
The second option is usually better in an app-like layout. The panel still opens over the page, and the close button in the top corner hides it again. There is no offset option for the floating button, so if neither position works, the menu item is the cleanest way out.
Test on a real phone before you ship
Run this checklist on at least one iPhone and one Android phone:
- Open a page at the narrowest width your phone shows, and tap the floating button. The panel should fit with a margin on both sides.
- Tap the message box and type three or four lines. Confirm you can still reach the send button.
- Turn the phone sideways and confirm the panel still fits. Its height limit recalculates with the screen size.
- Open the page with your tab bar visible. Confirm the floating button does not hide a tab you need.
- Scroll the page behind the open panel. The widget does not lock page scrolling, so the background can move while the panel is open. That is acceptable for a short form, but know it happens.
If anything fails, change the position or hide the trigger before you tune the copy. Layout problems hurt more than wording.
Mobile layout options in Escuta Produto
The widget covers the main cases with three settings: data-position for left or right, data-trigger to hide the floating button, and data-escuta-open to open the panel from any element on the page. It has no offset or size option, so placement and spacing are the job of your page. The widget docs list every attribute.
Mobile apps do not have a native SDK in Escuta Produto. A native app should send feedback through the REST API, which lets you build a form that follows the platform's own design. For a web page, the panel above is enough.
For the label and accessibility side of the same panel, read what a feedback button should say and how to make a feedback widget accessible.
Set up a mobile-friendly trigger in Escuta Produto
Start with the defaults and test them on a phone. If the floating button clashes with your navigation, change the position first. If it still clashes, add data-trigger="none" to the script tag and place a labelled item in your menu with data-escuta-open="idea" or data-escuta-open="bug", whichever matches where the item sits. Then send a test message from the phone and confirm it appears in the inbox with the right type and page URL.
Frequently asked questions
Where should a feedback button go on a phone?
A bottom corner is easiest to reach with a thumb. The Escuta Produto widget defaults to the right side and can move to the left. Check that it does not cover a tab bar or a control you need.
Does the feedback form work when the phone keyboard is open?
The panel scrolls inside itself, so visitors can reach every field. Fit depends on the browser because the widget does not read the visual viewport. Test on iOS and Android with the keyboard open.
How do I stop a feedback button covering my mobile navigation?
Move the button to the other side with the position setting, or hide it with the trigger setting and open the form from an item in your own menu. The second option works best in app-style layouts.
Related
- Feedback widget best practicesWhere to place a feedback button, how to keep it fast and accessible, and how to protect it from spam. Practical rules for in-app feedback widgets.
- What should a feedback button say?How to word a feedback button: verbs or nouns, labels that match each page and feedback type, localized copy, and how to replace the default Feedback button.
- How to make a feedback widget accessibleMake a feedback widget usable with a keyboard and screen reader: real buttons, dialog semantics, focus return, labels, contrast and known gaps.
- Why embeddable widgets use Shadow DOMWhat Shadow DOM isolates in an embeddable feedback widget, what it leaves open to the host page, how to theme across the boundary, and how to test it.