ionic-team / ionic-team/ionic-docs

content: keyboard page needs on-screen keyboard layout guidance, and lifecycle samples read the wrong property

Aperta Adatta ai principianti
#4,705 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
content
Lingua principale
MDX
Stelle
621
Fork
3.2k
Merge medio
1g 2h
PR unite (30g)
86

Descrizione

### URL

https://ionicframework.com/docs/developing/keyboard

### Issue Description

The page covers `inputmode`, `enterkeyhint`, dark mode, the accessory bar and lifecycle events, but never says what the keyboard does to the viewport. In a mobile browser or PWA, Chrome and current Firefox shrink the visual viewport and leave the layout viewport at full height, so anything anchored to the bottom of the page stays where it was and the keyboard is drawn over it. This affects `ion-fab`, `ion-footer` and `ion-tab-bar`.

That is intended behavior, and refer to [#26702](https://github.com/ionic-team/ionic-framework/issues/26702) for the reasoning on why we do not resize the layout viewport by default. The problem is that the page never tells developers this is the model, nor how to opt into the alternative, so it keeps getting refiled: [#7013](https://github.com/ionic-team/ionic-framework/issues/7013) (2016), [#26702](https://github.com/ionic-team/ionic-framework/issues/26702) (2023), [#29765](https://github.com/ionic-team/ionic-framework/issues/29765) (2024). **Three reports over eight years** for behavior that one documented meta key configures.

Suggested addition, as a section near Keyboard Lifecycle Events:

- The keyboard shrinks the visual viewport, not the layout viewport, in browsers and PWAs, so bottom-anchored elements do not move.
- Apps that want the layout to move can add `interactive-widget=resizes-content` to the viewport meta tag, with the caveat that footers and tab bars then move above the keyboard too. Verified on Chrome 133 and Firefox 155.
- `100dvh` does not account for the on-screen keyboard and is not an alternative. Worth saying outright, because it is the first thing people reach for.
- Capacitor apps should use the Keyboard plugin's resize modes rather than the meta tag.

## Files

- `docs/developing/keyboard.mdx` (v9)
- `versioned_docs/version-v8/developing/keyboard.mdx`

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with docs/developing/keyboard.mdx and compare its versioned counterpart at versioned_docs/version-v8/developing/keyboard.mdx, near Keyboard Lifecycle Events. Add guidance on visual versus layout viewport behavior, interactive-widget=resizes-content, 100dvh, and Capacitor resize modes, using #26702 for context. Done means both versions explain the behavior and alternatives accurately.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
documentation
Tipo di issue
Documentazione
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Attiva
Chiarezza
Specificata chiaramente
Idoneità per principianti
86/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.