= HTML attribute
{c}
An <HTML attribute> supplies information about an <HTML element>, usually through a name and a value in its start tag. Its meaning is defined for the relevant element and attribute. The source notation is converted into attribute data on the element in the <Document Object Model>.<HTML Standard by WHATWG>[Introduction, attributes in the quick HTML example; HTML syntax, Attributes]{ref}
For example, `<p id="notice" class="warning">Save</p>` gives the paragraph the identifier notice and the class warning. <CSS selectors> `#notice` and `.warning` can then match it for different reasons. The text Save is element content, rather than another attribute value.
Some attributes use presence as their boolean signal. For an applicable <HTML boolean attribute>, `disabled` and `disabled="false"` both express presence; the latter spelling does not make it false. Removing the attribute expresses absence. Treating every value as a programming-language boolean would therefore misread the document.<HTML Standard by WHATWG>[Common microsyntaxes, Boolean attributes: presence/absence and permitted values]{ref}
Attribute data and live interface properties are related by specified reflection rules, not by a universal identity. For some controls, an attribute describes a default while the current state can change through interaction. A <JavaScript> property access must consequently be interpreted using that interface's definition. This is particularly useful when debugging why the original source and the state a user sees no longer look identical.
Back to article page