(Il s'agit d'une question en plusieurs parties, je ferai de mon mieux pour résumer le scénario.)
Nous construisons actuellement une application Web réactive (lecteur de nouvelles) qui permet aux utilisateurs de glisser entre les contenus à onglets, ainsi que de faire défiler verticalement à l'intérieur de chaque contenu à onglets.
Une approche courante du problème consiste à avoir un wrapper div
qui remplit la fenêtre du navigateur, défini overflow
sur hidden
ou auto
, puis fait défiler horizontalement et / ou verticalement à l'intérieur.
Cette approche est excellente mais présente un inconvénient principal: la hauteur du document étant exactement la même que celle de la fenêtre du navigateur, le navigateur mobile ne masquera pas la barre d'adresse / le menu de navigation .
Il existe de nombreux hacks et propriétés de fenêtre d' affichage qui nous permettent d'obtenir plus d'espace d'écran, mais aucun n'est aussi efficace que minimal-ui
(introduit dans iOS 7.1).
La nouvelle est arrivée hier que iOS 8 beta4 avait été supprimé minimal-ui
de Mobile Safari (voir la section Webkit dans les notes de publication d'iOS 8 ), ce qui nous a laissé nous demander:
Q1. Est-il toujours possible de masquer la barre d'adresse sur Mobile Safari?
À notre connaissance, iOS 7 ne répond plus au window.scrollTo
piratage, cela suggère que nous devons vivre avec le plus petit espace d'écran, à moins que nous n'adoptions une disposition verticale ou une utilisation mobile-web-app-capable
.
Q2. Est-il toujours possible d'avoir une expérience de plein écran douce similaire?
Par plein écran doux, je veux vraiment dire sans utiliser la mobile-web-app-capable
balise meta.
Notre application Web est conçue pour être accessible, n'importe quelle page peut être mise en signet ou partagée à l'aide du menu du navigateur natif. En ajoutant, mobile-web-app-capable
nous empêchons les utilisateurs d'invoquer un tel menu (lorsqu'il est enregistré sur l'écran d'accueil), ce qui déroute et contrarie les utilisateurs.
minimal-ui
Auparavant, c'était le juste milieu, cachant le menu par défaut mais le gardant accessible d'un simple toucher - bien qu'Apple l'ait peut-être supprimé en raison d'autres problèmes d'accessibilité (tels que les utilisateurs ne sachant pas où appuyer pour activer le menu).
Q3. Une expérience plein écran en vaut-elle la peine?
Il semblerait qu'une API plein écran n'arrive pas bientôt sur iOS, mais même si c'est le cas, je ne vois pas comment le menu restera accessible (il en va de même pour Chrome sur Android).
Dans ce cas, nous devrions peut-être laisser le safari mobile tel quel et tenir compte de la hauteur de la fenêtre (pour iPhone 5+, il s'agit de 460 = 568-108, où 108 comprend la barre du système d'exploitation, la barre d'adresse et le menu de navigation; pour iPhone 4 ou plus âgé, il est de 372).
J'adorerais entendre des alternatives (en plus de créer une application native).