Использование свойства видимости css со скрытым значением и скрытого атрибута html предназначено для скрытия элемента. Но между ними мало различий. Свойство видимости css со скрытым значением содержит его площадь, то есть высоту и ширину. Но скрытый атрибут не содержит свою область DOM. Здесь скрытый атрибут работает как свойство отображения css со значением none. Вам может быть понятно с помощью следующего примера:
<p style="visibility:hidden">Hello how are you?</p>
<p hidden>I am fine.</p>
Теперь просто проверьте ваш браузер и убедитесь, что оба они невидимы, но первый элемент абзаца по-прежнему содержит свою область.