В оформлении:
Так что есть стиль CSS
текстовое оформление: подчеркивание для <u>
, но
не там один font-weight:bold
для
<strong>
уже? Так и <em>
тоже.
Нет. Не существует стиля CSS для <strong>
или <em>
. Для жирного шрифта есть CSS-теги, но это не одно и то же. сильный и они не означает жирным шрифтом. Они имеют в виду подчеркнуть. Подчеркивание может быть сделано с подчеркиванием, курсивом или жирным шрифтом в текстовом носителе, и это зависит от таблицы стилей, чтобы решить, какой. Но смысловой смысл просто «этот текст подчеркивается». И как бы вы реализовали «подчеркивание» в программе чтения с экрана? Это не имеет смысла. Подчеркивание характерно для текстовых носителей и, следовательно, относится к конкретной таблице стилей для текстового представления, а не к семантическому HTML, который можно использовать для представления данных с помощью речи или любых других средств.
В семантике:
<strong>
семантически для чего?
Сильно подчеркнутый текст? <em>
есть
семантический для чего? Подчеркнутый текст?
Все, что принципиально отличается от
друг друга и взаимоисключающие? Нет.
Почему не может быть другого способа
подчеркнуть текст? Вы знаете, как способ
<u>
делает
Поскольку strong и em не указывают как текст должен быть выделен, просто он должен быть выделен. подчеркивание указывает , как следует подчеркнуть, поэтому оно связано с представлением, а не с семантикой, и относится к файлу CSS.
Я согласен, что разница между сильным и em неясна, но опять же, у нас также есть h1-h7. Дело в том, что даже без таблицы стилей читатель должен иметь возможность сделать вывод, что «это заголовок большего размера, чем этот», а также «этот текст выделен на больше , чем этот».
Семантическое значение тегов не должно принципиально отличаться друг от друга. Совершенно важно иметь семантические теги, которые просто означают «больше, чем этот другой семантический тег». Потому что иногда нам нужно несколько слоев заголовков в нашем тексте, поэтому у нас есть h1-h7. И иногда нам нужен выделенный текст и выделенный текст очень . Но даже если бы мы этого не сделали, это не было бы оправданием для добавления <u>
в качестве «другого семантического близнеца», потому что это не так. Это не семантический близнец, это ничего в семантике. подчеркивание не обязательно означает акцент. Это может означать и заголовок, или «это ссылка», или что-то еще, что вы хотите, чтобы оно значило. Это деталь презентации. И это не имеет смысла в нетекстовых СМИ. «Акцент» не является деталью презентации. Он несет смысловой смысл, который имеет смысл независимо от средств массовой информации. Вы также можете выделить информацию в фильмах, видеоиграх или в тексте, читаемом вслух.
Похоже, у вас сложилось впечатление, что strong и em - это просто сокращение (или от руки) жирным шрифтом или курсивом. Это не правда. Они могут использоваться для представления полужирного текста, подчеркнутого текста, текста, выделенного курсивом, или текста большего размера. Или их можно полностью игнорировать. Или они могут просто изменить произношение в программе чтения с экрана. Если вы когда-либо писали документы в LaTeX
, вы заметите, что команда \emph
там обычно отображается курсивом, а не жирным шрифтом. Конечно, это не обязательно, но это совершенно легальная интерпретация смысловой команды «выделение». Точно так же есть много других тегов, которые могут просто отображаться курсивом (кавычки или теги span с определенными классами CSS или даже заголовками.
<u>
, с другой стороны, имеет очень специфическое значение в представлении, но не несет семантической ценности. Какую информацию он передает читателю? <strong>
несет значение «этот текст выделен цветом, и на него следует обратить внимание», потому что он сильно подчеркивается. Что значит для текста быть подчеркнутым? Это может ничего не значить, или это может означать дюжину разных вещей.«Курсив», «полужирный» или «подчеркивание» - это атрибуты представления без семантического значения. Они могут быть применены к любому семантическому тегу HTML, который вам нравится. А семантические теги, такие как strong или em, могут использовать любые правила представления CSS, которые вам нравятся. Как вы, кажется, верите, нет картирования 1: 1. Это разные понятия. Тот факт, что браузер по умолчанию выбирает для отображения жирный текст жирным шрифтом, совершенно не имеет значения. Это просто поведение по умолчанию, потому что они должны были выбрать что-то , и это может быть переопределено в CSS.
Вопрос не в том, «можно ли это сделать в CSS» или «Это семантический близнец этого», а просто в том, «имеет ли он семантическое значение? Если да, то оба должны быть изменены и / или удалены полностью. Если да для первого, он принадлежит HTML, а если да, для второго - CSS.