recherche

Maison  >  Questions et réponses  >  le corps du texte

Il a été constaté qu'il existe une valeur d'attribut d'identifiant « x » en double dans la page Web.

<p>J'utilise Angular 7 - trois composants [a, b, c] utilisent des éléments d'entrée avec l'identifiant [x], cependant, le composant [b] utilise également 4 entrées avec l'élément id [x]. Cela soulève des problèmes d'accessibilité, puisque l'identifiant doit être unique. Le scénario de test utilise « getElementById » pour récupérer la valeur et attend certains résultats. </p> <p>Maintenant, j'ai changé ces sélecteurs d'identifiant en classes - car je n'avais pas besoin qu'ils soient uniques et j'ai également modifié le scénario de test - 'querySelector'. </p> <p>Une idée pour laquelle j'obtiens toujours la même erreur que « Valeur d'attribut d'identifiant en double « x » trouvée sur la page Web » ? </p>
P粉905144514P粉905144514459 Il y a quelques jours562

répondre à tous(2)je répondrai

  • P粉662089521

    P粉6620895212023-09-01 00:19:30

    Du point de vue de l'accessibilité, WCAG 4.1.1 Parsing est un guide sur la manière d'avoir des identifiants uniques. Le guide dit en gros que vous devez avoir du code HTML valide, mais il ne répertorie que quatre types de code HTML non valide qui peuvent causer des problèmes d'accessibilité :

      Les éléments
    1. " ont des balises d'ouverture et de fermeture complètes,
    2. Les éléments sont imbriqués selon leurs spécifications,
    3. L'élément
    4. ne contient pas d'attributs en double,
    5. et toute pièce d'identité est unique »,

    Il existe de nombreuses façons de générer du HTML invalide, mais ces quatre peuvent également entraîner des problèmes d'accessibilité. Notez que l’un de ces quatre problèmes signifie que votre code HTML n’est pas valide. Vous pourriez donc être confronté à des problèmes allant au-delà des simples problèmes d’accessibilité. Je pense que vous ne voulez pas avoir de HTML invalide.

    Donc, dans votre cas, vous voyez la quatrième erreur répertoriée. La spécification HTML stipule que les identifiants doivent être uniques.

    Vous avez mentionné :

    Si vous avez des identifiants en double, vous voulez que la spécification getElementById中获得什么? getElementById de dise :

    Vous avez également dit :

    Est-ce que cela signifie qu'aucun élément n'a d'identifiant ? Est-ce qu'ils ont tous des cours ? Si vous exécutez un outil d'analyse d'accessibilité et qu'il signale des erreurs concernant les identifiants en double, il est évident que vous n'avez pas converti tous les identifiants en classes.

    répondre
    0
  • 123333

    Droite

    123333 · 2023-09-01 15:55:04
  • Annulerrépondre