Bila Menggunakan ARIA berbanding HTML Asli
Ikuti peraturan pertama ARIA: utamakan semantik asli
Bila Menggunakan ARIA berbanding HTML Asli ialah pelajaran HTML Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran HTML Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.
Apakah ARIA?
ARIA (Aplikasi Internet Kaya dengan Kebolehcapaian) ialah sekumpulan atribut yang boleh ditambahkan pada HTML untuk meningkatkan kebolehcapaian bagi teknologi bantuan. ARIA mengisi kekurangan apabila semantik HTML asli tidak mencukupi.
Peraturan Pertama ARIA
Garis panduan ARIA yang paling penting: jangan gunakan ARIA jika HTML asli boleh melakukannya:
<!-- BAD: ARIA on a div -->
<div role="button" tabindex="0" onclick="submit()">Submit</div>
<!-- GOOD: use a real button -->
<button type="submit">Submit</button>
<!-- Native HTML elements:
- Are keyboard accessible by default
- Have correct semantics built in
- Work in more contexts
- Require less code
-->Apabila HTML Asli Tidak Mencukupi
ARIA diperlukan apabila:
- Komponen UI tersuai tidak mempunyai padanan HTML (tab, kotak gabungan)
- Peranan elemen asli perlu ditindih
- Kemas kini kandungan dinamik perlu diumumkan
- Hubungan kompleks antara elemen perlu dinyatakan dengan jelas
ARIA Tidak Menambah Tingkah Laku
Salah faham yang kritikal: ARIA menambah metadata kebolehcapaian — ARIA tidak menambah kefungsian:
<!-- Adding role="button" to a div does NOT:
- Make it keyboard-focusable (add tabindex="0")
- Make Enter/Space activate it (add event listeners)
- Make it styled like a button (add CSS)
-->
<!-- You must implement ALL behavior yourself -->
<!-- Native <button> handles all this for free -->Taksonomi ARIA
ARIA mempunyai tiga kategori atribut:
- Peranan — mentakrifkan jenis elemen:
role="button",role="dialog" - Sifat — menerangkan ciri statik:
aria-label,aria-required - Keadaan — menerangkan keadaan dinamik:
aria-expanded,aria-checked
HTML Semantik berbanding Padanan ARIA
Kebanyakan elemen HTML sudah mempunyai peranan ARIA tersirat:
<nav> ≡ role="navigation"
<main> ≡ role="main"
<aside> ≡ role="complementary"
<header> ≡ role="banner" (page-level)
<footer> ≡ role="contentinfo" (page-level)
<button> ≡ role="button"
<a href> ≡ role="link"
<h1-h6> ≡ role="heading"
<ul> ≡ role="list"Penggunaan ARIA yang Sah dan Lazim
Contoh penggunaan ARIA yang wajar:
<!-- 1. Custom dropdown (no native equivalent): -->
<div role="combobox" aria-expanded="false">...</div>
<!-- 2. Loading state announcement: -->
<div role="status" aria-live="polite">Loading results...</div>
<!-- 3. Override landmark label: -->
<nav aria-label="Primary navigation">...</nav>
<!-- 4. Associate error with input: -->
<input aria-describedby="error-msg">
<span id="error-msg" role="alert">Invalid email</span>Penggunaan ARIA yang Tidak Sah
Kesilapan ARIA yang lazim:
<!-- BAD: ARIA role contradicts the element -->
<h2 role="button">Heading</h2> <!-- don't turn a heading into a button -->
<!-- BAD: ARIA on an unsupported element -->
<div role="listitem">Item</div> <!-- listitem must be inside list role -->
<!-- BAD: ARIA where HTML works fine -->
<p role="paragraph">Text</p> <!-- p already has paragraph semantics -->
<!-- BAD: aria-label on hidden element -->
<span aria-hidden="true" aria-label="something"> <!-- contradictory -->Peranan Penanda Kawasan
Peranan penanda kawasan ARIA membantu pengguna pembaca skrin menavigasi bahagian halaman:
<div role="banner"> <!-- header for the whole page -->
<div role="navigation"> <!-- major navigation -->
<div role="main"> <!-- main content -->
<div role="complementary"> <!-- aside content -->
<div role="contentinfo"> <!-- page footer -->
<div role="search"> <!-- search form -->
<div role="form"> <!-- form with label -->
<!-- These are ONLY needed if using divs instead of semantic elements -->
<!-- Prefer the native HTML elements instead -->Menguji Pelaksanaan ARIA
Cara mengesahkan ARIA anda betul:
- Gunakan panel Kebolehcapaian dalam DevTools Chrome/Firefox
- Dengar menggunakan VoiceOver (Mac) atau NVDA (Windows)
- Jalankan sambungan DevTools axe
- Semak pepohon kebolehcapaian — adakah ia mencerminkan perkara yang anda jangkakan?
Perangkap aria-hidden
Kesilapan aria-hidden yang lazim:
<!-- BAD: aria-hidden on element that still receives focus -->
<button aria-hidden="true">Close</button>
<!-- The button is still focusable but invisible to screen readers
Screen reader users reach it via Tab but hear nothing -->
<!-- GOOD: for focus + hide, use hidden attribute or display:none: -->
<button hidden>Close</button> <!-- removes from both tab order and AT -->
<!-- Or: if you must keep visible: -->
<button style="display:none" aria-hidden="true">Close</button>Semakan Pantas
Apakah yang diberikan secara automatik apabila role="button" ditambahkan pada div?
Imbas Kembali: ARIA berbanding HTML Asli
Asas ARIA:
- Peraturan pertama: gunakan HTML asli apabila boleh
- ARIA hanya menambah semantik — anda mesti melaksanakan tingkah laku
- Tiga kategori: Peranan, Sifat, Keadaan
- Peranan penanda kawasan membantu navigasi pembaca skrin
- Uji dengan panel Kebolehcapaian DevTools dan pembaca skrin
Pelajari HTML dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 40
- Pelajaran
- 159
Soalan Lazim
Adakah pelajaran “Bila Menggunakan ARIA berbanding HTML Asli” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran HTML Academy, termasuk “Bila Menggunakan ARIA berbanding HTML Asli”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus HTML Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Bila Menggunakan ARIA berbanding HTML Asli”?
Ikuti peraturan pertama ARIA: utamakan semantik asli Anda berlatih HTML Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan HTML Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran HTML Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Bila Menggunakan ARIA berbanding HTML Asli” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran HTML Academy ini?
Ya. Setiap pelajaran HTML Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Bila Menggunakan ARIA berbanding HTML Asli
- role button alert dialog dan landmark
- aria-label aria-labelledby dan aria-describedby
- aria-hidden dan aria-live