Почему не следует использовать `` `, чтобы избежать одиночных кавычек?

Как указано в Когда одиночные кавычки в HTML стали настолько популярными? и JQuery встроенная цитата в атрибуте, запись в Википедии на HTML говорит следующее:

Символ одиночной кавычки ('), когда используется для указания значения атрибута, также должен быть экранирован как ' или ' (не должен быть экранирован как ', за исключением документов XHTML), когда он появляется внутри значение самого атрибута.

Почему не следует использовать '? Кроме того, " безопасен для использования вместо "?

Ответы

Ответ 1

" находится в официальном списке допустимых объектов HTML 4, но ' нет.

От C.16. Ссылка "Именованный символ" :

Именованная символьная ссылка '(апостроф, U + 0027) был введенный в XML 1.0, но не появляются в HTML. Авторы должны поэтому используйте ' вместо ' работает так, как ожидалось, в HTML 4 пользовательских агентов.

Ответ 2

' не является частью стандарта HTML 4.

", однако, так хорошо использовать.

Ответ 3

" действителен как в HTML5, так и в HTML4.

' действителен в HTML5, но не HTML4. Однако большинство браузеров поддерживают ' для HTML4.

Ответ 4

Если вам нужно написать семантически правильную разметку, даже в HTML5, вы не должны использовать ' для выхода из одиночных кавычек. Хотя, я могу себе представить, что вы на самом деле означали апостроф, а не одну цитату.

одиночные кавычки и апострофы не совпадают, семантически, хотя они могут выглядеть одинаково.

Вот один апостроф.

Используйте ’, чтобы вставить его, если вам нужна поддержка HTML4.

В британском английском используются одинарные кавычки:

"Он сказал мне" попробовать ", - сказал я.

Цитаты попадают парами. Вы можете использовать:

<p><q>He told me to <q>give it a try</q></q>, I said.<p>

чтобы иметь вложенные кавычки семантически правильным способом, откладывая замену действительных символов на механизм рендеринга. На эту подстановку могут влиять правила CSS, например:

q {
  quotes: '"' '"' '<' '>';
} 

Старая, но по-прежнему актуальная статья о семантически правильной надбавке: Проблема с EM n EN (и другими теневыми символами).

Ответ 5

Если вам действительно нужны одинарные кавычки, апострофы, вы можете использовать

html    | numeric | hex
&lsquo; | &#145;  | &#x91; // for the left/beginning single-quote and
&rsquo; | &#146;  | &#x92; // for the right/ending single-quote