cari

Rumah  >  Soal Jawab  >  teks badan

Didapati terdapat nilai atribut id pendua "x" dalam halaman web.

<p>Saya menggunakan Angular 7 - tiga komponen [a, b, c] menggunakan elemen input dengan id [x], bagaimanapun, komponen [b] juga menggunakan 4 input dengan elemen id [x]. Ini menimbulkan isu kebolehaksesan - kerana id perlu unik. Kes ujian menggunakan 'getElementById' untuk mendapatkan semula nilai dan mengharapkan hasil tertentu. </p> <p>Sekarang apa yang saya lakukan ialah menukar pemilih id ini kepada kelas - kerana saya tidak memerlukannya untuk menjadi unik dan juga menukar kes ujian - 'querySelector'. </p> <p>Sebarang idea mengapa saya masih mendapat ralat yang sama seperti "Nilai atribut id pendua 'x' ditemui pada halaman web"? </p>
P粉905144514P粉905144514548 hari yang lalu613

membalas semua(2)saya akan balas

  • P粉662089521

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

    Dari perspektif kebolehaksesan, WCAG 4.1.1 Penghuraian ialah panduan untuk memiliki ID unik. Panduan ini pada asasnya mengatakan anda sepatutnya mempunyai HTML yang sah, tetapi ia hanya menyenaraikan empat jenis HTML tidak sah yang boleh menyebabkan isu kebolehaksesan:

    1. " elemen mempunyai tag pembukaan dan penutup yang lengkap,
    2. Elemen bersarang mengikut spesifikasinya,
    3. Unsur
    4. tidak mengandungi atribut pendua,
    5. dan mana-mana ID adalah unik,”

    Terdapat banyak cara untuk menjana HTML tidak sah, tetapi keempat-empat ini juga boleh menyebabkan isu kebolehaksesan. Ambil perhatian bahawa mana-mana daripada empat isu ini bermakna anda mempunyai HTML yang tidak sah, jadi anda mungkin menghadapi masalah selain daripada isu kebolehaksesan. Saya rasa anda tidak mahu mana-mana HTML tidak sah.

    Jadi dalam kes anda, anda melihat ralat tersenarai keempat. Spesifikasi HTML menyatakan bahawa ID mestilah unik.

    Anda menyebut:

    Jika anda mempunyai ID pendua, anda mahukan spesifikasi getElementById中获得什么? getElementById dari berkata:

    Anda juga berkata:

    Adakah ini bermakna tiada elemen mempunyai ID? Adakah mereka semua mempunyai kelas? Jika anda menjalankan alat pengimbasan kebolehaksesan dan ia membenderakan ralat tentang ID pendua, maka jelas sekali anda tidak menukar semua ID kepada kelas.

    balas
    0
  • 123333

    Betul

    123333 · 2023-09-01 15:55:04
  • Batalbalas