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
According to http://validator.w3.org/ under a
<!DOCTYPE html>
the following validates successfully.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.
Anything that knows how to handle class attributes should be fine with this. It is possible to give a tag multiple classes by separating them with spaces so anything which reads them had better know how to deal with spaces.
Yes, it is compliant.
From http://www.w3.org/html/wg/drafts/html/master/dom.html#classes:
From http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#set-of-space-separated-tokens:
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:
Our colleagues here have tested and it successfully passes W3C validation, so I can't guess why your friend thought it was invalid.