I believe CSS is a powerful tool to make perfect UX. I'm here to share my tips for unfortunate mistakes.
Please, stop using resize: none
We used to use resize: none to disable textarea resizing. We end up textareas are terrible for typing data π
The vertical value and limit to the heights makes the same without discomfort π‘
A wrong code
.textarea { resize: none; }
A correct code
.textarea { resize: vertical; min-height: 5rem; max-height: 15rem; }
Leave the content property empty to avoid unexpected voicing
Pay attention, screen readers voice a text that's defined with the content property. It might lead to unexpected voicing. It's why we shouldn't use CSS to add text to a web page π
A wrong code
.parent::before { content: "I am text"; }
A correct code
.parent::before { content: ""; }
aspect-ratio is a page jump pill
Page jumps after loading pictures is a pain. It's well, aspect-ratio help to avoid it. For example if the picture has the 600x400px size we should set aspect-ration: 1.5 (600px / 400xp = 1.5) π
A wrong code
img { display: block; max-width: 100%; }
A correct code
img { display: block; max-width: 100%; aspect-ratio: 1.5; }
animation without prefers-reduced-motion might lead to dizziness or headache
Motion animation might lead users with vestibular disorders to experience dizziness π©
So we should wrap it in prefers-reduced-motion to avoid problems if users disable animations in OS settings π
A wrong code
.example { animation: zoomIn 1s; }
A correct code
@media (prefers-reduced-motion: no-preference) { .example { animation: zoomIn 1s; } }
Top comments (0)