Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML5 Compliant - Trailing Space in Class Attribute

I know that technically HTML5 is a 'living spec' but I'm wondering if it's compliant to have trailing spaces inside of a class name. I didn't see any reference to this scenario in the spec, but one of my teammates said it was invalid. Maybe I missed something?

It'd be a pain to trim those spaces (I'm working inside of a large Java ecom application) and I want to know if it's worth doing for SEO, validation or any other purpose. I get the feeling it's not... haha

like image 270
SC_Chupacabra Avatar asked Jan 29 '14 18:01

SC_Chupacabra


3 Answers

Yes, it is compliant.

From http://www.w3.org/html/wg/drafts/html/master/dom.html#classes:

The attribute, if specified, must have a value that is a set of space-separated tokens representing the various classes that the element belongs to.

From http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#set-of-space-separated-tokens:

A string containing a set of space-separated tokens may have leading or trailing space characters.

like image 196
tb11 Avatar answered Oct 14 '22 05:10

tb11


As we can see in the link below, there is no restriction on what the developer can use in the class attribute.

http://www.w3.org/html/wg/drafts/html/master/dom.html#classes

In fact, after saying what the classes are and that they're used spliting in the spaces, the author(s) says:

There are no additional restrictions on the tokens authors can use in the class attribute, but authors are encouraged to use values that describe the nature of the content, rather than values that describe the desired presentation of the content.

Our colleagues here have tested and it successfully passes W3C validation, so I can't guess why your friend thought it was invalid.

like image 29
D. Melo Avatar answered Oct 14 '22 05:10

D. Melo


According to http://validator.w3.org/ under a <!DOCTYPE html> the following validates successfully.

<div class=" name1 name2 "></div>

Leaving a trailing and leading space may be acceptable, but it's not pretty and some people do not consider it to be best a practice.

like image 32
photodow Avatar answered Oct 14 '22 04:10

photodow