Aku terus melihat peran atribut pada beberapa orang's bekerja. Saya menggunakannya juga, tapi saya'm tidak yakin tentang efeknya.
Misalnya:
<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>
Ini peran atribut yang diperlukan?
Atribut ini baik untuk semantik?
Apakah itu meningkatkan SEO?
Daftar peran yang dapat ditemukan di sini, tapi saya melihat beberapa orang yang membuat mereka sendiri. Apakah itu diperbolehkan atau penggunaan yang benar dari peran atribut?
Pikiran-pikiran ini?
Sebagian besar peran anda melihat didefinisikan sebagai bagian dari ARIA 1.0, dan kemudian dimasukkan ke HTML5. Beberapa elemen HTML5 baru (dialog, main, dll.) bahkan berdasarkan asli ARIA peran.
http://www.w3.org/TR/wai-aria/
Ada dua alasan utama untuk menggunakan peran selain asli anda semantik elemen.
Alasan #1. Mengesampingkan peran di mana tidak ada host elemen bahasa yang tepat atau, untuk berbagai alasan, kurang semantik yang sesuai elemen yang digunakan.
Dalam contoh ini, sebuah link yang digunakan, meskipun yang dihasilkan fungsi tombol-seperti dari link navigasi.
<a href="#" role="button" aria-label="Delete item 1">Delete</a>
Pembaca layar akan mendengar ini sebagai tombol (sebagai lawan link), dan anda dapat menggunakan CSS atribut selector untuk menghindari kelas-itis dan div-itis.
*[role="button"] {
/* style these a buttons w/o relying on a .button class */
}
Alasan #2. Back up elemen asli's peran, untuk dukungan browser yang dilaksanakan ARIA peran tapi belum't belum menerapkan elemen asli's peran.
Misalnya, "main" peran yang telah didukung di browser selama bertahun-tahun, tapi itu's yang relatif baru untuk HTML5, sehingga banyak browser don't belum mendukung semantik untuk <utama>
.
<main role="main">…</main>
Secara teknis ini adalah berlebihan, tapi membantu beberapa pengguna dan doesn't membahayakan. Dalam beberapa tahun terakhir, teknik ini mungkin akan menjadi tidak perlu.
Anda juga menulis:
aku melihat beberapa orang yang membuat mereka sendiri. Apakah itu diperbolehkan atau penggunaan yang benar dari peran atribut?
Yang's yang valid menggunakan atribut kecuali peran nyata tidak termasuk. Browser akan menerapkan pertama kali diakui peran dalam tanda daftar.
<span role="foo link note bar">...</a>
Keluar dari daftar, hanya link
dan catatan
yang berlaku peran, dan begitu link peran yang akan diterapkan karena datang pertama. Jika anda menggunakan custom peran, pastikan mereka don't konflik dengan peran didefinisikan dalam ARIA atau host bahasa anda're menggunakan (HTML, SVG, MathML, dll.)
Seperti yang saya mengerti itu, peran awalnya didefinisikan oleh XHTML tapi itu tak berlaku lagi. Namun, mereka sekarang didefinisikan oleh HTML 5, lihat di sini: https://www.w3.org/WAI/PF/aria/roles#abstract_roles_header
Tujuan dari peran atribut adalah untuk mengidentifikasi parsing software fungsi yang tepat dari elemen (dan anak-anak) sebagai bagian dari sebuah aplikasi web. Ini adalah sebagian besar sebagai sebuah aksesibilitas hal untuk pembaca layar, tapi saya juga bisa melihat itu sebagai hal yang berguna untuk embedded browser dan layar pencakar. Dalam rangka untuk menjadi berguna untuk yang tidak biasa HTML klien, atribut yang harus ditetapkan untuk salah satu peran dari spec yang saya terkait. Jika anda membuat anda sendiri, ini 'depan' fungsi dapat't bekerja - komentar akan lebih baik.
Praktis berikut ini: http://www.accessibleculture.org/articles/2011/04/html5-aria-2011/
ini Adalah peran atribut yang diperlukan?
Jawaban: Ya.
Ini menyediakan anda:
Saya menyadari ini adalah sebuah pertanyaan lama, tapi yang lain mungkin pertimbangan tergantung pada persyaratan yang tepat anda adalah bahwa validasi pada https://validator.w3.org/ menghasilkan peringatan sebagai berikut:
Peringatan: bentuk peran ini perlu untuk elemen form.
Peran atribut terutama meningkatkan aksesibilitas untuk orang-orang yang menggunakan pembaca layar. Untuk beberapa kasus yang kita gunakan itu seperti aksesibilitas, perangkat adaptasi,pemrosesan di sisi server, dan data yang kompleks keterangan. Tahu lebih lanjut klik: https://www.w3.org/WAI/PF/HTML/wiki/RoleAttribute.