No Branch/Tag Specified
issue_4711
master
4.2
4.1
issue_5528
dev/issue_5560_dispositions_prive
issue_5095
4.0
3.2
dev/issue_4626_menu_squelettes
fix_issue_5454
issue_5427_bis
coquille_doc
issue_5344
dev/hasard_fixe
issue_4836
debug_ecrire_fichier
fix_modifier_login
dev/instituer_ergo
dev_infos_image
fix/valider_url_distante
issue_4946
3.1
boutons-danger
issue_4717
dev-sortable
issue_4705
dev/autoloader
issue_4678
issue_4101
3.0
2.1
2.0
1.9.2
1.9.1
1.8
v4.2.3
v4.2.2
v4.1.9
v4.0.11
v3.2.19
v4.2.1
v4.1.8
v4.0.10
v3.2.18
v4.2.0
v4.2.0-alpha2
v4.2.0-alpha
v4.1.7
v4.1.6
v4.0.9
v3.2.17
v4.1.5
v4.1.4
v3.2.16
v4.0.8
v4.1.3
v3.2.15
v4.0.7
v4.1.2
v4.0.6
v4.1.1
v4.1.0
v4.1.0-rc
v4.0.5
v3.2.14
v4.1.0-beta
v4.1.0-alpha
v3.2.13
v4.0.4
v4.0.3
v4.0.2
v3.2.12
v4.0.1
v4.0.0
v4.0.0-beta
v4.0.0-alpha
v3.2.11
v3.2.10
v3.1.15
v3.2.9
v3.1.14
v3.1.13
v3.2.8
v4.1.10
v3.2.7
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0-beta.3
v3.2.0-beta.2
v3.2.0-beta
v3.2.0-alpha.1
v3.2.0
v3.2-alpha.1
v3.1.9
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.12
v3.1.11
v3.1.10
v3.1.1
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc
v3.1.0-beta
v3.1.0-alpha
v3.1.0
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.28
v3.0.27
v3.0.26
v3.0.25
v3.0.24
v3.0.23
v3.0.22
v3.0.21
v3.0.20
v3.0.2
v3.0.19
v3.0.18
v3.0.17
v3.0.16
v3.0.15
v3.0.14
v3.0.13
v3.0.12
v3.0.11
v3.0.10
v3.0.1
v3.0.0-rc
v3.0.0-beta.2
v3.0.0-beta
v3.0.0-alpha.1
v3.0.0
v2.1.9
v2.1.8
v2.1.7
v2.1.6
v2.1.5
v2.1.4
v2.1.30
v2.1.3
v2.1.29
v2.1.28
v2.1.27
v2.1.26
v2.1.25
v2.1.24
v2.1.23
v2.1.22
v2.1.21
v2.1.20
v2.1.2
v2.1.19
v2.1.18
v2.1.17
v2.1.16
v2.1.15
v2.1.14
v2.1.13
v2.1.12
v2.1.11
v2.1.10
v2.1.1
v2.1.0
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.3
v2.0.26
v2.0.25
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.2
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.1
v2.0.0
v1.9.2+p
v1.9.2+o
v1.9.2+n
v1.9.2+m
v1.9.2+k
v1.9.2+j
v1.9.2+i
v1.9.2+h
v1.9.2+g
v1.9.2+f
v1.9.1+i
v1.8.3+b
Labels
Clear labels
Amélioration, nouvelle fonctionnalité
Ca ne fonctionne pas
Ce ticket est un doublon
Ticket invalide
Ignoré, c'est comme Ca...
Apply labels
accessibilité
amélioration
Amélioration, nouvelle fonctionnalité
APIs
authentification
base de données
bug
Ca ne fonctionne pas
code généré
compilo
css
divers
documentation
doublon
Ce ticket est un doublon
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
Ticket invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
Ignoré, c'est comme Ca...
sécurité
traduction
à confirmer
No Label
accessibilité
amélioration
APIs
authentification
base de données
bug
code généré
compilo
css
divers
documentation
doublon
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
sécurité
traduction
à confirmer
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Set Project
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
11 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: spip/spip#2381
Reference in New Issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
SPIP propose une hiérarchie des titres défectueuse pour les articles, qui passent directement du titre en h1 aux intertitres en h3, sans niveau intermédiaire, comme cela serait nécessaire pour structurer correctement (ie en HTML correct, sémantique, accessible, seo, toussa). Pour corriger cela, il suffit de déclarer ceci dans
mes_fonctions.php
:Il serait temps de remettre en question ces intertitres, qui sont l'objet de correctifs systématiques de la part des personnes averties et de perpétuation d'une erreur involontaire pour les autres. Rendre le niveau d'intertitre optionnel, avec ce genre de configuration via espace privé, permettrait de changer en douceur, en ménageant la chèvre et la chou :
[x] utiliser des intertitres en h2 (correspondant à la réalité hiérarchie courante)
[ ] conserver les intertitres en h3 (rétrocompatibilité historique)
Étant davantage employé de part sa position dans la hiérarchie des titres, le h2 serait plus approprié par défaut.
En réalité, un champ de saisie, prérempli par défaut, serait plus indiqué :
Niveau d'intertitre : [
]
Les thèmes CSS qui stylent les intertitres de SPIP déclareront
##spip, ###spip {...}
comme cela se fait déjà pour s'assurer d'appliquer le style pareillement dans tous les sites, corrigés ou pas.Ne serait-ce pas l'occasion d'introduire en natif la gestion des intertitres hiérarchisés ?
Version cible mise à 3.0
Je ne suis pas contre proposer un formulaire.
Il serait à mettre où ?
D'autres avis ?
J'ai retrouvé le fil de discussion qui a donné naissance à ce ticket :
http://thread.gmane.org/gmane.comp.web.spip.devel/61444/
Le problème était le suivant, la dist utilisait un fichier de fonctions qui demandait à SPIP de générer des intertitres en h2 par défaut :
http://zone.spip.org/trac/spip-zone/browser/core/plugins/dist/mes_fonctions.php?rev=51174
Et comme la dist est une extension (c'est peut être d'ailleurs ça le problème) on se retrouvait avec des intertitres en h2 tout le temps sans possibilité de désactiver ce comportement (alors qu'un squelette comme Zpip est prévu pour fonctionner avec des intertitres en h3).
Comme le soulignait Fil, Davux a proposé une solution :
_
basculer sur html5 et h2 (sans les rendre optionnels dans le core). ensuite ceux qui ont besoin de changer pour garantir leur site a l'ancienne pourront toujours utiliser des mes-options, des plugins
dedies etc._
On me signale dans l'oreillette que tetue faisait déjà cette proposition il y a quelques années...
b b a écrit :
Y'a confusion, personnellement j'ai jamais proposé ça. Ma proposition: http://thread.gmane.org/gmane.comp.web.spip.devel/61480/
C'est-à-dire en résumé:
Pour les sites en HTML5, h2, h3, h4 etc. on s'en fiche car ce qui importe est le niveau de titre relativement à la balise "article" ou "section" la plus proche dans la hiérarchie.
Pour les sites en HTML4, on ne peut pas graver h2 ou h3 ou autre dans la roche car le contexte peut changer: parfois un article est présenté sur sa propre page, parfois comme sous-contenu, et du coup je propose d'ajouter un argument à |traiter_raccourcis ou #ENV ou je sais pas quoi, mais qu'en gros le niveau de titre soit choisi au moment d'interpréter #TEXTE, car personne ne sait mieux que l'auteur du squelette quel est le niveau adéquat.
Pour l'archive : je n'ai jamais dit non plus qu'on devrait passer à HTML5 obligatoire (c'est beaucoup trop tôt), mais c'est hors-sujet ici donc je ne développerai pas. URL: http://article.gmane.org/gmane.comp.web.spip.devel/61491
(moi je suis pour tout passer en HTML5 dès que possible)
Version cible mise à 3.1
HTML5 ne résoud rien car si la spec dit en effet que chaque section a son propre niveau d'intertite, en pratique ça reste le plan de la page dans son ensemble qui fait foi pour le SEO
Version cible mise à 3.2
C'est moins un problème de SEO que d'accessibilité. Omettre un niveau de titre rompt la navigation par titres (par exemple avec une synthèse vocale), rendant difficile l'accès aux contenus des niveaux inférieurs. Concrètement, certains de ces utilisateurs passent à côté de tout ou partie du contenu. Cela relève d'un "critère d'accessibilité de niveau A":http://www.accessiweb.org/index.php/accessiweb-html5aria-liste-deployee.html#crit-9-1, c'est-à-dire bloquant.
Il y a certes, pour les webmestres avertis, la possibilité de corriger cela (via plugin ou autre).
Cela dépend aussi de la hiérarchie des titres du squelette en vigueur.
Mais il serait préférable d'éviter cette erreur par défaut, dans la distribution du SPIP natif :
NB : le HTML5, qui autorise l'utilisation exclusive de titres de niveau 1, manque de support sur ce point et n'est donc pas une solution, effectivement.
Je relance sur ce ticket.
Je ne comprends pas pourquoi on n'est pas encore en H2 par défaut pour les intertitres.
A part l'entropie, y'a t'il une vraie raison ?
Sur tous les sites que je mets en route, je commence par déclarer les deux globales.
(et le HTML5, c'est un autre sujet)
+1
est-ce que ça demande de revoir le squelettes-dist ?
Par rapport à la proposition au tout début de configuration dans l'interface, j'ai plutôt l'impression que c'est comme pour la configuration "html5" : c'est le jeu de squelette utilisé par le site (celui par défaut ou un autre) qui doit définir ses besoins.
Les administrateurices, par défaut on n'a pas à préjuger du fait qu'ils savent de quoi il retourne, qu'illes connaissent le HTML, etc. Non, par défaut ce sont juste des admins, qui configurent, activent des fonctionnalités, et valident des contenus : aucun rapport avec la technique.
Donc le HTML5 devrait être défini en PHP par le jeu de squelette.
Et le niveau des intertitres des #TEXTE de même, puisque c'est le jeu de squelette qui sait quelles balises précèdent ces textes dans le code (h1, h2…).
Par défaut le noyau pur n'a pas de squelettes, donc il doit mettre h2, et si la dist a déjà un h2 avant le texte principal (ce qui n'est pas le cas je crois) elle doit redéfinir, et pareil pour tout autre squelette.
Pour moi, rien à modifier dans la dist.
Il y a des H2 dans la dist, qui introduisent des listes d'articles, de résultats, ou des blocs (forum), je pense qu'ils peuvent rester comme ça.
Mais pour le contenu texte, ça passe de H1 (titre de l'article) à H3, comme sur les sites Spipr, comme sur la plupart des squelettes.
Et c'est moche. Très.
Dans html5_landed j'ai défini les globales sur H2, comme sur tous mes sites, mais je crois que c'est un des seuls html5up (pas tout regardé non plus).
https://zone.spip.org/trac/spip-zone/browser/squelettes/html5up_landed/html5_landed_options.php
Je serais pour définir les intertitres en H2 par défaut, point.
Et pas de config, celui qui veut peut utiliser les globales comme actuellement.
Si le bloc de forum sous le texte de l'article reste en h2, il va se retrouver "au même niveau" qu'un intertitre en h2 donc, c'est pas top non ?
Je sais pas, ça ne me choque pas trop non plus.
Sinon un
<p class="h2">
? C'est pas top pour le "séparer" sémantiquement du contenu de l'article.On peut trouver autre chose de plus sémantique en html5, en faisant une section, mais là c'est les gros travaux (ou pas ?)
Je répète : la version de HTML n'a aucune incidence là-dessus, la gestion des titres restant la même en HTML5. Donc osef HTML5 ou pas.
b_b : que d'autres blocs de la page soient du même niveau que les intertitres du contenu reste toujours moins pire que de passer à côté du contenu.
nico d_ : un
<p class="h2">
n'a aucune valeur sémantique de séparation. À oublier.Pour mémoire, sur les dommages causés et les correctifs possibles : http://romy.tetue.net/corriger-intertitre-SPIP
Au niveau des plugins qui gèrent des niveaux de titres dans la barre typo :
intertitres_hierarchises prend déjà en compte la constante pour calculer ses niveaux hiérarchiques :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/plugins/intertitres_hierarchises_et_table_matieres/trunk/intertitres_tdm_options.php#L76
porte_plume_enluminures_typographiques gère sa propre config
Pas de casse à ce niveau là donc.
Il serait temps de passer sur du H2 par défaut pour les intertitres, et de fermer ce ticket de sept ans.
Des avis contre ?
Comme cela a été dit
Pour info (et juste pour info) je procède de la manière suivante (pour l'accessibilité) :
Cas 1 : Un article est présenté dans sa propre page :
Le titre de l'article est en #
Je détecte si le texte contient un intertitre (inséré avec porte plume ou bien un h3 saisi manuellement). Si c'est le cas, j'ajoute (avant le texte de l'article) un h2 avec comme titre "contenu" (on peut choisir un autre titre). Ceci évite de passer directement du h1 du titre de l'article au h3 contenu dans le texte de l'article.
Cas 2 : Un article est présenté comme sous-contenu :
Le titre de la PAGE en #
Le titre de l'article est en h2 (vu que c'est un sous contenu).
On passe donc sans problème du h2 (du titre de l'article) au h3 contenu dans le texte de l'article.
cf spip/textwheel#3
Version cible mise à 4.0
Statut changé à En cours
Et c'est donc dans la 3.3 alea jacta est
57de289c88
Statut changé à Fermé