Desain · DSN-13 ditegakkan

Desain · Pasal DSN-13

Kendali isian lahir dari UiField, label dan kendalinya tidak pernah terpisah

Label dan kendali satu komponen.

Sudah dipakai project lain.

Komponen asli. Label dan kendali tak bisa terpisah.

Isian teks, pilihan, dan area teks memakai UiField. Elemen <input>, <select>, dan <textarea> telanjang hanya sah di dalam berkas yang mendefinisikan primitif itu.

Kenapa: label dan kendali disatukan dalam satu komponen karena memisahkannya adalah cara paling umum kehilangan kaitan for/id — dan label tanpa kaitan terlihat benar sepenuhnya sampai ada yang mencoba memakainya dengan pembaca layar. Ini kelas cacat yang tak pernah tertangkap peninjauan visual, sama seperti aturan :focus-visible yang pernah mati diam-diam (DSN-09).

Cara menerapkan: UiField menerima satu id dan menurunkan for, name, serta aria-describedby darinya. error merangkap hint: saat ia terisi, pesannya yang tampil dan kendalinya sekaligus ditandai aria-invalid. Satu tempat, satu keadaan — bukan dua prop yang bisa bertentangan.

Utang saat ini: 56.