Desain · Pasal DSN-14
Tak ada teks di bawah 12px di seluruh /projects
Ukuran huruf terkecil di /projects adalah 12px. Tidak ada nilai di
bawahnya — tidak lewat font-size:, tidak lewat text-[11px], dan tidak lewat
token.
Kenapa: DSN-10 menuntut ukuran turun dari tangga, tapi tangga yang rapi tak
menolong kalau anak tangga paling bawahnya sendiri terlalu kecil. Selama ini
--t-2xs bernilai 11px dan dipakai 76 kali, jadi kode yang menaati DSN-10
dengan sempurna tetap menghasilkan teks yang tak nyaman dibaca. Di halaman Docs
efeknya paling terasa, karena hampir seluruh label, eyebrow, dan keterangan di
sana memakai anak tangga terkecil.
Angka 12 bukan selera. Ia sudah lebih dulu jadi aturan di
scripts/analytics-verify.ts — “Analytics text must never render below 12px” —
tapi hanya untuk satu sub-app. Pasal ini cuma memperluas aturan yang sudah kamu
pegang ke seluruh /projects.
Cara menerapkan: --t-2xs dicabut, bukan dinaikkan. Menaikkannya jadi
12px akan menyisakan dua nama untuk satu ukuran, dan nama kembar selalu berakhir
dipakai bergantian tanpa alasan. Seluruh 48 text-ui-2xs dan 28 var(--t-2xs)
sudah dialihkan ke --t-xs, dan utilitas ui-2xs dihapus dari
tailwind.config.mjs supaya pemakaian baru gagal terlihat, bukan gagal senyap.
Berbeda dengan DSN-10, pemeriksa pasal ini tidak melewatkan
primitives.css. Justru di sanalah teks 10px paling lama bersembunyi: label
statistik, penanda langkah, inisial avatar.
Ia juga menyapu src/styles/, yang secara teknis berada di luar /projects.
Alasannya konkret: .eyebrow didefinisikan di global.css pada 11px dan
dipakai sepuluh kali di dalam /projects. Pemeriksa versi pertama yang hanya
melihat satu direktori melewatkannya, dan pasal ini nyaris lahir sambil
dilanggar. Utilitas bersama adalah cara paling mudah sebuah aturan yang berdiri
sendiri diloloskan.
Utang saat ini: 0. Tiga puluh delapan nilai mentah di /projects plus dua
utilitas bersama sudah ditarik ke --t-xs sekaligus, jadi pasal ini lahir
bersih — pelanggaran pertama menggagalkan build. Di luar jangkauannya masih ada
sekitar 199 nilai serupa (landing, storefront, 404.astro, halaman
directory/); ranah itu belum diputuskan dan sengaja tidak diakui sebagai utang
di sini, supaya angka nol tetap berarti nol.