Naming Cases #

Elements #

Element tags are case-insensitive, but using lowercase is recommended.

Attribute Names #

Attribute names are case-insensitive, but using lowercase or kebab-case is recommended (e.g., tabindex, popover-target).

Custom attribute names are case-insensitive, but using kebab-case is recommended. They must start with data- (e.g., data-is-clicked).

Attribute Values #

Enumerated attribute values are case-insensitive, but using lowercase or kebab-case is recommended (e.g., formaction, user-credentials).

Non-enumerated attribute values are case-sensitive, and using kebab-case is recommended (e.g., id="target-container").