Aksesibilitas

Proyek Django berkomitmen untuk memastikan bahwa jaringan situs dibangun dengan Django dapat digunakan oleh semua orang, termasuk orang dengan disabilitas. Komponen bawaan Django, seperti antarmuka admin dan formulir membangun awalan, harus mengikuti untuk membangun standar aksesibilitasdan memmenuhi sasaran kami untuk mendukung perangkat masukan tertentu dan membantu teknologi,

Standar aksesibiltas

Kami berupaya untuk mematuhi Web Content Accessibility Guidelines (WCAG), versi 2.2, pada tingkatan AA. WCAG merupakan standar yang paling mapan untuk aksesibilitas web. AA-level guidelines merupakan target kepatuhan hukum yang paling umum di seluruh dunia.

Kami juga bertujuan untuk mengikuti praktik terbaik lainnya, seperti:

  • WCAG 2.2 AAA-level guidelines – kriteria yang lebih ketat yang melampaui level AA.

  • Pedoman WCAG 3.0 yang akan datang – standar baru yang terus berkembang yang bertujuan untuk menyatukan dan meningkatkan versi WCAG sebelumnya.

  • Authoring Tool Accessibility Guidelines (ATAG) 2.0 – pedoman untuk perangkat lunak dan layanan yang digunakan untuk menghasilkan isi jaringan.

Untuk mempelajari lebih lanjut tentang aksesibilitas tanpa langsung membahas standar, kami merekomendasikan The A11Y Project, sebuah upaya yang digerakkan oleh komunitas untuk mempermudah aksesibilitas digital.

Target dukungan dan pengujian

Di luar standar, kami ingin memastikan Django benar-benar berfungsi untuk orang-orang yang menggunakan berbagai perangkat input dan teknologi bantu. Hal ini bermanfaat untuk memastikan Django bekerja lebih baik for everyone. Cara terbaik untuk melakukan ini secara efektif adalah dengan mempertimbangkan aspek aksesibilitas sebagai bagian dari perancangan fitur. Jika ragu, konsultasikan dengan pengguna yang bergantung pada teknologi bantu atau dengan pakar aksesibilitas. Anda dapat menghubungi Accessibility team melalui Accessibility Django forum topic atau melalui saluran #accessibility di Django Discord server.

Pengujian dasar

Rancang UI dengan mempertimbangkan aksesibilitas, dan pengujian hanya akan diperlukan sebagai pengecekan akhir. Untuk antarmuka yang lebih kompleks, konsultasikan dengan kontributor lain untuk menentukan target pengujian. Hubungi Accessibility team untuk mendapatkan dukungan dan mengoordinasikan pengujian.

Selalu uji perubahan antarmuka pengguna dengan:

  • Keyboard-only navigation. Common issues include:

    • Elemen interaktif tidak dapat diakses menggunakan tombol Tab atau tombol panah.

    • An interactive element "traps" input focus and prevents navigating away.

    • An interactive element doesn't give a visible indication when it has input focus.

    • The focus order is inconsistent with the logical order that's communicated visually.

  • The Accessibility Insights browser extension's automated checks feature, or an equivalent tool with the Axe checker.

Where the UI changes could affect those modalities, also test with:

  • Touch-only navigation. Common issues include:

    • A touch target (interactive element) is too small.

    • Hover-based interaction that does not translate to touch, such as a hover-only tooltip.

  • 400% browser zoom. Common issues include:

    • Content is cut off or disappears when zoomed.

    • Content that does not inherently require a two-dimensional layout causes scrolling in both directions (vertical and horizontal). Two-dimensional scrolling is acceptable for content like images, maps, videos, and data tables, which require both dimensions to be usable.

  • Forced-colors mode (for example Windows Contrast Themes). Note that this can be tested via the "high_contrast" mode in the screenshot tests. Common issues include:

    • Over-reliance on color for meaning, which is lost in forced-colors mode.

    • Use of !important or inline styles may break forced-colors mode.

Known issues and how to help

There are parts of Django that do not meet our accessibility targets. We actively work on fixing issues, both as part of ongoing maintenance and bigger overhauls. To learn about known issues, and get involved, see: