Background goal
As part of Codex improvements, we proposed a redesign of the Fullscreen Dialog on mobile. The primary change relocates the main button (placed at the header in OOUI) at the fixed dialog's bottom. This redesign aims to group and centralize all dialog actions in the same place, enhancing user accessibility.
History
OOUI and DSG defined the fullscreen mobile with the main button on top (rest of buttons at the bottom)
Known use case(s)
Some fullscreen mobile dialog use cases from OOUI:
Considerations
Keyboard behavior in some browsers:
When the keyboard appears on mobile/tablet devices using Safari and Chrome, a scroll appears and the dialog header and footer stop being fixed so the action buttons placed at the fixed footer of the dialog will appear at the end of the scroll. Also, since the header will stop being fixed when the keyboard appears, the main button in the header will not be visible if the user is scrolling the dialog. The header and footer will return being fixed once the keyboard is closed in the dialog.
| On iPhone (Safari) when the keyboard appears the dialog header and footer stop being fixed ❌ | |
| On iPad (Safari) when the keyboard appears the dialog header and footer stop being fixed ❌ | |
| On Android (Chrome) when the keyboard appears the dialog header and footer stop being fixed ❌ | |
| On Android (Samsung Internet browser) when the keyboard appears the header and footer are still fixed ✅ | |
| On Android (Mozilla Firefox) when the keyboard appears the header and footer are still fixed ✅ | |
We need to keep in mind the following considerations when defining the fullscreen mobile dialog design:
| If all action buttons are grouped and fixed at the bottom (Options 2 and 3): When keyboard is displayed on iOS Safari and Android Chrome, scroll appears and action buttons will be hidden within the scroll. Buttons will return to the initial position once the keyboard is closed. | If main button is on top and secondary button/buttons on the bottom (Options 1 and 4): 1. Main button on top is separated from the rest of actions buttons placed at the bottom, 2. Close button (X) needs to be moved to the right and it's missing when we are in the 2nd step of a process dialog, 3. Not enough space for long dialog titles, 4. When keyboard is displayed on iOS Safari and Android Chrome, scroll appears and the secondary button at the bottom will be hidden within the scroll. | We need to define a pattern for the position of the buttons (both for close and action buttons) in all our "conversational" system elements (e.g. dialogs, future modal sheets). | |
User stories
- As a user, I need to find all dialog actions easily.
- As a user, I need all the buttons to be accessible from my mobile device.
Previous implementations
- Codex demo: check the dialog small size on mobile in this Codex demo
- Design style guide: dialog fullscreen mobile with main button on top
- OOUI: check all dialogs designed in OOUI here
Design spec
Once a component spec sheet has been created in Figma, remove the note stating that the spec is missing and link to the spec below.
| Component spec sheet |
Open questions
- Devices and browsers where we have issues with the fixed header and footer when the keyboard is displayed:
- iOS Safari (iPhone and iPad)
- Android Chrome
- Where do we want to place the close and back buttons?
- Where do we want to place the action buttons (main and secondary ones)?
Acceptance criteria
- Define the right behavior for the buttons in fullscreen dialogs on mobile
- Update the Figma component spec sheet (if needed)
- Implement the changes for the dialog in Codex (if needed)
















