Pertanyaan Apa tujuan dari atribut "peran" dalam HTML?


Saya terus melihat atribut peran dalam pekerjaan beberapa orang. Saya menggunakannya juga, tapi saya tidak yakin tentang pengaruhnya.

Sebagai contoh:

<header id="header" role="banner">
    Header stuff in here
</header>

Atau:

<section id="facebook" role="contentinfo">
    Facebook stuff in here
</section>

Atau:

<section id="main" role="main">
     Main content stuff in here
</section>

Apakah atribut peran ini diperlukan?

Apakah atribut ini lebih baik untuk semantik?

Apakah itu meningkatkan SEO?

Daftar peran dapat ditemukan sini, tapi saya melihat beberapa orang membuat sendiri. Apakah itu diperbolehkan atau penggunaan yang benar dari atribut peran?

Ada pemikiran tentang ini?


913
2018-05-01 10:11


asal


Jawaban:


Sebagian besar peran yang Anda lihat didefinisikan sebagai bagian dari ARIA 1.0, dan kemudian digabungkan ke HTML5. Beberapa elemen HTML5 baru (dialog, utama, dll.) Bahkan didasarkan pada peran ARIA asli.

http://www.w3.org/TR/wai-aria/

Ada dua alasan utama untuk menggunakan peran selain elemen semantik asal Anda.

Alasan # 1. Override peran di mana tidak ada elemen bahasa host yang sesuai atau, karena berbagai alasan, elemen yang kurang semantik yang digunakan.

Dalam contoh ini, tautan digunakan, meskipun fungsi yang dihasilkan lebih mirip tombol daripada tautan navigasi.

<a href="#" role="button" aria-label="Delete item 1">Delete</a>

Pembaca layar akan mendengar ini sebagai tombol (sebagai lawan dari tautan), dan Anda dapat menggunakan pemilih atribut CSS untuk menghindari class-itis dan div-itis.

*[role="button"] {
  /* style these a buttons w/o relying on a .button class */
}

Alasan # 2. Mencadangkan peran elemen asli, untuk mendukung browser yang menerapkan peran ARIA tetapi belum menerapkan peran elemen asli.

Misalnya, peran "utama" telah didukung di browser selama bertahun-tahun, tetapi ini merupakan penambahan yang relatif baru pada HTML5, sehingga banyak browser belum mendukung semantik untuk <main>.

<main role="main">…</main>

Ini secara teknis redundan, tetapi membantu beberapa pengguna dan tidak membahayakan apapun. Dalam beberapa tahun, teknik ini kemungkinan akan menjadi tidak perlu.

Anda juga menulis:

Saya melihat beberapa orang membuat sendiri. Apakah itu diperbolehkan atau penggunaan yang benar dari atribut peran?

Itu adalah penggunaan atribut yang valid kecuali peran nyata tidak disertakan. Browser akan menerapkan peran yang dikenal pertama dalam daftar token.

<span role="foo link note bar">...</a>

Dari daftar, hanya link dan note adalah peran yang valid, dan karena itu peran tautan akan diterapkan karena muncul lebih dulu. Jika Anda menggunakan peran khusus, pastikan mereka tidak bertentangan dengan peran yang ditetapkan dalam ARIA atau bahasa host yang Anda gunakan (HTML, SVG, MathML, dll.)


814
2017-09-06 18:12



Seperti yang saya pahami, peran awalnya didefinisikan oleh XHTML tetapi tidak berlaku lagi. Namun, mereka sekarang ditentukan oleh HTML 5, lihat di sini: https://www.w3.org/WAI/PF/aria/roles#abstract_roles_header

Tujuan atribut peran adalah untuk mengidentifikasi penguraian perangkat lunak fungsi yang tepat dari suatu elemen (dan anak-anaknya) sebagai bagian dari aplikasi web. Ini sebagian besar sebagai hal aksesibilitas untuk pembaca layar, tetapi saya juga bisa melihatnya sebagai berguna untuk browser yang disematkan dan skrap layar. Agar bermanfaat bagi klien HTML yang tidak biasa, atribut harus disetel ke salah satu peran dari spesifikasi yang saya tautkan. Jika Anda membuat sendiri, fungsi 'masa depan' ini tidak dapat berfungsi - komentar akan lebih baik.

Kepraktisan di sini: http://www.accessibleculture.org/articles/2011/04/html5-aria-2011/


140
2018-05-01 13:10



Apakah atribut peran ini diperlukan?

Menjawab: iya nih.

  • Atribut peran diperlukan untuk mendukung Aplikasi Internet Kaya yang Dapat Diakses (WAI-ARIA) untuk menentukan peran dalam bahasa berbasis XML, ketika bahasa tidak menentukan atribut peran mereka sendiri.
  • Meskipun ini adalah alasan atribut peran diterbitkan oleh Kelompok Kerja Protokol dan Format, atribut memiliki kasus penggunaan yang lebih umum juga.

Ini memberi Anda:

  • Aksesibilitas
  • Adaptasi perangkat
  • Pemrosesan sisi server
  • Deskripsi data yang rumit, ... dll.

9
2017-10-13 07:36