Project

General

Profile

Evolution #4610

HTML5 : name est déprécié pour une ancre

Added by RealET 🔸 4 months ago. Updated about 2 months ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
11/30/2020
Due date:
% Done:

0%

Resolution:
fixed

Description

Bonjour,

https://developer.mozilla.org/fr/docs/Web/HTML/Element/a indique que :
name HTML 4 seulement, Obsolète depuis HTML5
Cet attribut est utilisé pour définir une ancre cible au sein de la page. La valeur de name est similaire à la valeur de l'attribut global id, et doit être un identifiant alphanumérique unique au document. Sous la spécification HTML 4.01, id et name peuvent être tous les deux utilisés sur un élément <a> s'ils ont des valeurs identiques.

Or, SPIP génère des ancres avec un a et un id identique.

Résolution : ne générer que le id.

Où ? Dans inc/filtres.php, ligne 2773 (en 3.3)

Remplacer :
$bloc_ancre = $ancres[$ancre] = "<a name='" . $ancre . "' id='" . $ancre . "'></a>";
Par :
$bloc_ancre = $ancres[$ancre] = "<a" . html5_permis() ? " name='" . $ancre : '' . "' id='" . $ancre . "'></a>";

History

#1 Updated by b b 4 months ago

  • Target version set to 3.3

À reporter en 3.2 après correction.

#2 Updated by cedric - 2 months ago

  • Status changed from Nouveau to Fermé
  • Resolution set to fixed

c'est donc un duplicate de #3574 et c'est corrigé par https://git.spip.net/spip/spip/commit/130c6fd63f0512df64c6d691da95116c5209f147
(et non pas la peine de reporter en 3.2)

#3 Updated by b b 2 months ago

(et non pas la peine de reporter en 3.2)

Ha bon ? On ne souhaite pas permettre aux gens qui font du HTML5 en 3.2 d'avoir un site valide ?

#4 Updated by RealET 🔸 2 months ago

Et non, ça n'est pas un duplicate, parce que #3574 concerne les ancres dans la pagination alors qu'ici, ça concerne les raccourcis typo d'ancre [<-monancre]

#5 Updated by RealET 🔸 2 months ago

Et que ça n'est pas dans le même fichier .php de SPIP ;-)

#6 Updated by cedric - about 2 months ago

Realet : ça concerne pas le même fichier parce que le code de pagination a bougé d'un fichier à l'autre, et comme ton ticket ne donne absolument aucune information sur quelle ancre, quand cela se produit, mais pointe seulement une ligne de code, on est bien en peine de savoir de quoi tu parles.

Donc 2 options :
- tu pointais bien l'ancre de pagination de la fonction filtre_pagination_dist, et j'ai bon mais tu confonds avec un autre ticket
- tu parlais bien des ancres pour les raccourcis typo, mais une ligne de code qui a rien a voir, parce qu'alors ça doit se passer dans inc/lien du core ou de textwheel.
(Et tu pourras verifier, y a pas de name= dans le fichier inc/filtres)

b_b : obsolète c'est pas franchement invalide, c'est juste que bon, c'est du vieux code. Les gens ferru de validité mettront à jour.
Mais virer le name peut déclencher des bugs dans du js, c'est pas trop cool d'envoyer ça sur la branche 3.2 amha (en tout cas je trouve pas que ça soit si important que ça vaille le coup de prendre le risque...)

#7 Updated by b b about 2 months ago

Mais virer le name peut déclencher des bugs dans du js...

Ok, entendu :)

#8 Updated by RealET 🔸 about 2 months ago

Bon, en fait, je ne sais plus ce que j'avais testé avec ce ticket.

Mais ce que je sais, c'est que inc/filtres.php contient du code qui génère des ancres avec name et que cela n'est plus valide en HTML5.

#9 Updated by RealET 🔸 about 2 months ago

Au temps pour moi, le code de génération des ancres est passé dans ecrire/public/fonctions.php et n'a plus de name.

Désolé pour le bruit.

Also available in: Atom PDF