Команда розробників Medium обговорила деякі погані практики, які порушують доступність. В одному з прикладів вони стверджують, що opacity
програма для читання з екрана погано підтримується, і тому, якщо ми хочемо приховати елемент у переході, ми також повинні завжди використовувати visibility
атрибут:
.m-fadeOut ( visibility: hidden; opacity: 0; transition: visibility 0s linear 300ms, opacity 300ms; ) .m-fadeIn ( visibility: visible; opacity: 1; transition: visibility 0s linear 0s, opacity 300ms; )
Пам'ятайте, прозорість і видимість все одно залишають елемент у документообігу. Якщо вам потрібно видалити його з потоку, вам доведеться ще попрацювати. Насправді ось спосіб думати про них ...
може зробити річ невидимою | може зробити річ незручною | видаляє з потоку документів | можна перенести | можна змінити на дитині | |
---|---|---|---|---|---|
непрозорість | так | ні | ні | так | ні |
видимість | так | так | ні | так | так |
дисплей | так | так | так | ні | ні |
покажчик-події | ні | так | ні | ні | ні |
Якщо вам потрібно змінити відображуване значення елемента після згасання, це жорсткіше. Насправді це неможливо в CSS, оскільки display
не є транзитним. Снук писав про це, включаючи деякі JavaScript для допомоги.