Почему нельзя использовать "& apos;" для экранирования одинарных кавычек?

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

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

Почему не стоит ' использоваться? Также является " безопасно использовать вместо "?

5 ответов

Решение

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

С С.16. Ссылка на именованный символ ':

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

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

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

' не является частью стандарта HTML 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 (и другими неясными персонажами).

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

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

В моем случае это была ошибка, когда я пытался использовать цитату в тексте Time's up!. Есть предупреждение от Эслинта.

Чтобы исправить это, я заменил цитату на Time&apos;s up!. Результат ожидаемый

Другие вопросы по тегам