The hidden
global attribute is a Boolean attribute indicating that the element is not yet, or is no longer, relevant. For example, it can be used to hide elements of the page that can't be used until the login process has been completed. Browsers won't render elements with the hidden
attribute set.
The hidden
attribute must not be used to hide content that could legitimately be shown in another presentation. For example, it is incorrect to use hidden
to hide panels in a tabbed dialog, because the tabbed interface is merely a kind of overflow presentation — one could equally well just show all the form controls in one big page with a scrollbar. It is similarly incorrect to use this attribute to hide content just from one presentation — if something is marked hidden, it is hidden from all presentations, including, for instance, screen readers.
Hidden elements shouldn't be linked from non-hidden elements, and elements that are descendants of a hidden element are still active, which means that script elements can still execute and form elements can still submit. Elements and scripts may, however, refer to elements that are hidden in other contexts.
For example, it would be incorrect to use the href
attribute to link to a section marked with the hidden
attribute. If the content is not applicable or relevant, then there is no reason to link to it.
It would be fine, however, to use the ARIA aria-describedby
attribute to refer to descriptions that are themselves hidden. While hiding the descriptions implies that they are not useful on their own, they could be written in such a way that they are useful in the specific context of being referenced from the element that they describe.
Similarly, a canvas element with the hidden
attribute could be used by a scripted graphics engine as an off-screen buffer, and a form control could refer to a hidden form element using its form attribute.
Note: Changing the value of the CSS display
property on an element with the hidden
attribute overrides the behavior. For instance, elements styled display: flex
will be displayed despite the hidden
attribute's presence.
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'hidden' in that specification. | Living Standard | No change from latest snapshot, HTML 5.1 |
HTML Living Standard The definition of 'Hidden elements' in that specification. | Living Standard | Defines the suggested default rendering of the hidden attribute using CSS |
HTML 5.1 The definition of 'hidden' in that specification. | Recommendation | Snapshot of HTML Living Standard, initial definition |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | Yes | Yes | Yes | 11 | Yes | Yes |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 4 | Yes | Yes | Yes | Yes | Yes | Yes |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden