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").