HTML5 має новий глобальний атрибут hidden
, який можна використовувати для приховування вмісту.
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
У CSS є display:none
правило, яке також можна використовувати для приховування вмісту.
article { display:none; }
Візуально вони однакові. У чому полягає семантична різниця? Обчислювально?
Які вказівки слід враховувати, коли використовувати те чи інше?
ТІА.
EDIT : На основі відповідей @ newtron (нижче) я більше шукав. hidden
Атрибут був гаряче оскаржується в минулому році , і (мабуть) ледь пробився в HTML5 специфікації. Дехто стверджував, що це зайве і не має мети. З того, що я можу сказати, остаточне оцінювання таке: Якщо я націлений лише на веб-браузери, різниці немає. (Одна сторінка навіть стверджувала, що веб-браузери використовували display:none
для реалізації прихованого атрибуту.) Але якщо я розглядаю доступність (наприклад, можливо, очікую, що мій вміст буде прочитаний читачами екрану), то є різниця. Правило CSS display:none
може приховувати мій вміст у веб-браузерах, але відповідне правило арії (наприклад,aria-hidden="false"
) може спробувати її прочитати. Таким чином, я зараз погоджуюся, що відповідь @ newtron є правильною, хоча, можливо, (напевно) не такою чіткою, як мені б хотілося. Дякуємо @newtron за допомогу.
hidden
атрибут існує, але, безумовно, хороший питання, як це, здається, порушує структуру / поділ презентації.