В чем преимущество написания осмысленных имен css .class и #id?

StackOverflow https://stackoverflow.com/questions/2260466

Вопрос

В чем преимущество написания осмысленных имен css .class и #id?Говорят ли программы чтения с экрана, чтобы помочь пользователю понять смысл и назначение содержимого внутри тегов?

Это было полезно?

Решение

Опять же, как и на все ваши недавние вопросы по семантике, ответ остается прежним:

Все это зависит от контекста данных рассматриваемой сущности.

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

<span class="username">Andrew Moore</span>

Это имеет следующие преимущества:

  • Он легко идентифицирует содержимое поля в вашем коде.
  • Это повышает ремонтопригодность.
  • Это помогает анализаторам и сторонним приложениям извлекать значение этого поля.

Микроформаты - лишь более крупный пример этого.Проще говоря, они представляют собой набор предопределенных элементов и атрибутов, которые содержат определенный набор данных, предназначенных для облегчения синтаксического анализа сторонними инструментами.

Другие советы

Вообще говоря, это выгодно только разработчику / дизайнеру.

Другие ответы хороши, но здесь я сосредоточусь на аспекте очистки / сторонних инструментов.

Случай 1 - это пауки, которые ползают, как поисковые системы.Если они проанализируют вашу страницу и увидят что-то вроде id="username", они с большей вероятностью поймут в этом какой - то смысл , чем id="div-style-32".Конечно, я не уверен, что Google сейчас занимается подобными вещами, но это могло бы быть, если бы больше людей относились к этому лучше.

Случай 2 - это люди, пишущие скрипты для извлечения HTML-кода и его обработки, чтобы извлечь его содержимое в виде данных.Практически любой, кто хочет сделать это, может использовать любую разметку, вопрос лишь в том, насколько это раздражает.Более чистая и хорошо описанная разметка позволяет скрипту scraper легче находить необходимую ему информацию благодаря его расширенной семантике.

Сюда также входят такие вещи, как расширения браузера или скрипты Greasemonkey, которые позволяют пользователям изменять поведение сайта.Будет проще создавать эти модификации с более чистой разметкой.

Но если вы не хотите, чтобы люди очищали или модифицировали ваш сайт с помощью расширения на стороне клиента, вы мало что можете сделать с технической точки зрения.Ты не можешь остановить это, ты можешь только сделать это еще большей занозой в заднице.А преимущества ремонтопригодности для разработчиков сайта огромны.Так что, действительно, почему бы и нет?

Короче говоря, это делает все разные вещи, которые вы или другие мог бы сделайте с вашим сайтом проще.

Вы делаете это не для машин, а для людей.

Если бы мы заботились только о машинах, мы бы все еще кодировали на ассемблере :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top