Действительно ли одинарные кавычки допустимы в HTML? И более конкретно: строгий XHTML.
<table width="100%">
<table width='100%'>
Да, единичные кавычки действительны.
Из спецификации XML:
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
Согласно spec, оба варианта действительны :-)
[9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"'
| "'" ([^%&'] | PEReference | Reference)* "'"
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")
[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
И W3C-Validator тоже его принимает.
Источником путаницы в этом вопросе, похоже, является эта статья,
http://www.javascriptkit.com/howto/xhtml_intro.shtml
в которой утверждается, что одинарные кавычки недопустимы в xhtml. Однако, поскольку не приводится никакой спецификации, и поскольку в статье также утверждается, что имена атрибутов и элементов в нижнем регистре запрещены, автор, возможно, просто выражает редакционный запрет на использование одинарных кавычек.