Projet

Général

Profil

Bug #69398

Le nom du site, lorqu'il est masqué, apparaît quand même sur iPhone

Ajouté par Nicolas Roche il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
21 septembre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Via webkit, nom du site n'est plus masqué (par le 'text-indent: -10000px') lorsque la variable $header-logo-size est utilisée dans le thème.

Pour tester par exemple :

~/src/publik-base-theme$ git grep header-logo-size
...
# apt install epiphany-browser
$ epiphany https://montoulouse.cutm-publik-preprod.nfrance.com/
$ epiphany https://connexion-test.iziici.fr/
$ epiphany https://portail-nantes-metropole.test.entrouvert.org/


Fichiers


Demandes liées

Lié à Intégrations graphiques Publik - Development #69965: toulouse-2022: masquer le contenu du titre du header également sur iPhoneRejeté06 octobre 2022

Actions

Révisions associées

Révision 6676d24b (diff)
Ajouté par Thomas Jund il y a plus d'un an

misc: use .sr-only to hide site_title when $header-logo-size is used (#69398)

Historique

#2

Mis à jour par Mikaël Ates il y a plus d'un an

  • Projet changé de Thème Publik pour GLC à Toulouse intégration graphique
  • Assigné à mis à Nicolas Roche
  • Privée changé de Non à Oui
#4

Mis à jour par Nicolas Roche il y a plus d'un an

  • Projet changé de Toulouse intégration graphique à Intégrations graphiques Publik
  • Assigné à Nicolas Roche supprimé
  • Privée changé de Oui à Non
#6

Mis à jour par Nicolas Roche il y a plus d'un an

Je reproduis via epiphany-browser sur ces intégrations graphiques :

Dans #69965 je propose un patch, mais uniquement pour Toulouse, parce que je ne sais pas comment traiter le problème de façon plus générale.

#7

Mis à jour par Nicolas Roche il y a plus d'un an

  • Lié à Development #69965: toulouse-2022: masquer le contenu du titre du header également sur iPhone ajouté
#8

Mis à jour par Corentin Séchet il y a plus d'un an

  • Assigné à mis à Corentin Séchet
#9

Mis à jour par Corentin Séchet il y a plus d'un an

#10

Mis à jour par Corentin Séchet il y a plus d'un an

#12

Mis à jour par Thomas Jund il y a plus d'un an

  • Statut changé de Nouveau à En cours
  • Assigné à changé de Corentin Séchet à Thomas Jund
#14

Mis à jour par Frédéric Péters il y a plus d'un an

Parce que ça m'ennuie de voir proposé à Toulouse de contourner, j'ai jeté un œil et comme ça n'est pas noté dans ce ticket, je précise : le problème vient de $header-logo-size, quand c'est posé le logo est affiché via ::before, et c'est cette combinaison text-indent et ::before sur la balise qui fait que le text-indent apparait sans effet. Avec ::after le problème n'apparait pas. (mais ça ne résoud pas tout il y a quand même du grabuge de calcul sur le display: inline-flex et tout ça est bien étrange).

Pour le cas particulier Toulouse, faire sans $header-logo-size ne semble pas compliqué, genre,

--- a/static/toulouse-2022/_custom.scss
+++ b/static/toulouse-2022/_custom.scss
@@ -159,6 +159,9 @@ div#header, div#nav {
        &, & a {
                line-height: 0;
        }
+       a {
+               height: 54px;
+       }
        @media ($max-mobile-viewport) {
                &.has-logo {
                        padding-left: 0;
diff --git a/static/toulouse-2022/_vars.scss b/static/toulouse-2022/_vars.scss
index 67634602..6d40eb43 100644
--- a/static/toulouse-2022/_vars.scss
+++ b/static/toulouse-2022/_vars.scss
@@ -45,7 +45,6 @@ $mobile-limit: 1023px;
 $very-small-limit: 35em;
 $columns-gutter: 3rem;

-$header-logo-size: 201px 54px;
#15

Mis à jour par Thomas Jund il y a plus d'un an

Safari n'applique text-indent que si contenu de la boite est inline_* ou du texte.
Si un enfant est en display block ou si les enfants sont des flex-items, le text-indent ne s'applique pas.

J'ai testé

  • de masquer le site_title avec un `font-size: 0` en plus du text-indent. Ça semble fonctionner, mais ne permet plus de paramétrer la taille du logo en `em` et j'ai de gros doute côté a11y.
  • d'ajouter un span autour du site_title pour permettre de le masquer avec .sr-only. Je privilégie cette piste. Je shoot les thèmes pour vérifier que tout va bien et je livre le patch

Au passage, je découvre que `align-items: last baseline` est buggé sous webkit, la proporiété est comprise mais non rendue. Je remplace par `flex-end`

(J'adore ce moteur de rendu)

#16

Mis à jour par Thomas Jund il y a plus d'un an

J'ai conditionné l'utilisation de .sr-only à $header-logo-size, car par défaut la hauteur de h1#logo est relative au line-height du titre, même lorsqu'il est masqué avec `text_indent`.

#17

Mis à jour par Nicolas Roche il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée

Merci pour les explications.

Donc Safari n'applique text-indent que si contenu de la boite est inline_* ou du texte.

En vrai, je ne comprend pas pourquoi l'ajout du span fait que le titre ne s'affiche.

Cela dit je constate que ça fonctionne bien sur les thèmes que j'avais relevé, et ailleurs où le titre doit être affiché,
et que le titre est bien affiché dans les lecteur d'écrans (ex: https://addons.mozilla.org/fr/firefox/addon/tranquility-1/).

#18

Mis à jour par Thomas Jund il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 6676d24b2854c1d93a1d85da1774cdf64a8ebdcf
Author: Thomas JUND <tjund@entrouvert.com>
Date:   Wed Oct 12 16:35:12 2022 +0200

    misc: use .sr-only to hide site_title when $header-logo-size is used (#69398)

#19

Mis à jour par Thomas Jund il y a plus d'un an

En vrai, je ne comprend pas pourquoi l'ajout du span fait que le titre ne s'affiche.

L'ajout du span permet uniquement de cibler le texte, en excluant le pseudo element affchant le logo.
C'est `@extend .sr-only` qui masque le texte.

#20

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#23

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF