Bagaimana Kami Mengotomatiskan VPAT Aksesibilitas di CI Bagaimana Kami Mengotomatiskan VPAT Aksesibilitas di CI
Audit aksesibilitas cepat menjadi usang. Satu penggabungan kode (code merge) dapat mengubah segalanya.
Kami mengatasi hal ini. Kami mengubah laporan aksesibilitas kami menjadi artefak build yang berkelanjutan.
Pipeline kami menggunakan tiga lapisan untuk menemukan kesalahan:
- Pemeriksaan statis: Kami menggunakan axe-core untuk pengujian dasar di Storybook.
- Pengujian interaktif: Kami menggunakan helper Vitest kustom untuk menguji aturan keyboard.
- Audit manual: Kami menyimpan hasil pembaca layar (screen reader) sebagai file JSON.
Pipeline CI kami menggabungkan hasil-hasil ini.
Jika pengujian gagal, PR akan gagal. Jika semua pengujian berhasil, sistem akan membuat PDF baru. PDF ini disertakan dalam rilis Anda.
Kami mencoba satu hal yang gagal.
Kami mencoba menggunakan LLM untuk menggantikan audit manual. Kami segera menghentikannya. Hasil AI terlalu sering berubah. Anda membutuhkan hasil yang stabil untuk gerbang (gate) CI.
Baca rincian teknis lengkapnya di sini:
Sumber: https://dev.to/yassine_lakhdar_d0226709a/how-we-automated-our-accessibility-vpats-in-ci-46jk
ARTIKEL: Sebuah tim pengembang telah mengotomatiskan pembuatan VPAT aksesibilitas (Voluntary Product Accessibility Templates) secara langsung di dalam pipeline continuous-integration (CI) mereka, mengubah apa yang dulunya merupakan laporan manual berkala menjadi artefak build yang disertakan dalam setiap rilis. Alur kerja baru ini akan menggagalkan pull request yang memperkenalkan regresi aksesibilitas dan menghasilkan dokumen kepatuhan PDF secara otomatis saat build berhasil, memastikan setiap perubahan kode tetap berada dalam standar aksesibilitas.
Mengapa otomatisasi itu penting
Audit aksesibilitas menjadi usang saat kode baru masuk. Satu penggabungan (merge) dapat menyebabkan hilangnya alt text, urutan fokus yang tidak tepat, atau masalah pembaca layar yang membatalkan VPAT yang telah diterbitkan sebelumnya. Menjaga kepatuhan secara manual berarti menjalankan ulang audit setelah setiap perubahan, sebuah proses yang mahal dan rentan kesalahan yang sering kali tertinggal dari kecepatan pengembangan. Dengan menanamkan pemeriksaan di CI, tim mendapatkan umpan balik instan, menjaga kepatuhan tetap mutakhir, dan menghindari risiko hukum serta reputasi akibat merilis perangkat lunak yang tidak aksesibel.
Pendekatan pengujian tiga lapis
Pemeriksaan statis – Pipeline menjalankan axe-core, sebuah pustaka sumber terbuka yang memindai komponen yang dirender di Storybook untuk pelanggaran yang diketahui seperti hilangnya landmark atau kontras warna yang tidak memadai. Pengujian ini menangkap masalah sebelum interaksi apa pun terjadi.
Pemeriksaan interaktif – Helper Vitest kustom menjalankan aturan navigasi keyboard, memverifikasi bahwa fokus berpindah secara logis dan elemen interaktif merespons peristiwa (event) keyboard standar. Lapisan ini melampaui analisis statis untuk memastikan kegunaan di dunia nyata.
Artefak audit manual – Hasil dari pengujian pembaca layar disimpan sebagai file JSON. Pengembang mencatat observasi selama pengujian eksploratif dan melakukan commit JSON tersebut bersama dengan kode. Pekerjaan CI menggabungkan artefak ini dengan hasil otomatis, menghasilkan satu sumber kebenaran (single source of truth) untuk VPAT.
Jika ada pengujian di dua lapisan pertama yang gagal, pull request akan diblokir, mencegah perubahan mencapai produksi. Jika semua pengujian berhasil, pipeline menyusun data gabungan ke dalam PDF yang dilampirkan pada rilis, memberikan VPAT yang mutakhir tanpa upaya tambahan.
Apa yang tidak berhasil
Tim bereksperimen menggunakan large language model (LLM) untuk menghasilkan bagian audit manual secara otomatis. Hasil yang dihasilkan AI terlalu fluktuatif, membuat gerbang CI menjadi tidak andal. Konsistensi sangat penting untuk pemeriksaan lulus/gagal (pass/fail) yang bersifat biner, sehingga eksperimen tersebut dihentikan dan beralih ke artefak manual berbasis JSON.
Apa yang perlu diperhatikan selanjutnya
Untuk saat ini, model CI tiga lapis menawarkan jalur pragmatis untuk menjaga VPAT tetap mutakhir, mengurangi beban kerja manual, dan menjaga aksesibilitas tetap menjadi fokus utama dalam setiap perubahan kode.
