Какие теги HTML5 более подходят для денег?

Если вам нужно правильно выбрать один из этих тегов HTML5, чтобы представить цену, сумму денег или остаток на счете (например, 3/9/2012 - Income: 1.200,00 € или item #314159 - price: $ 31,99), то

  • какой тег вы бы выбрали для суммы и почему?
  • Если валюта также будет упакована в свой собственный тег или нет?

Мне бы очень хотелось избежать создания общего встроенного элемента типа <span class="income">1.200,00 €</span> или <span class="price">$ 31,99</span>, но до сих пор я не нашел ссылок на него.

Ответ 1

спецификация HTML для var:

Элемент var представляет переменную. Это может быть переменная в математическом выражении или контексте программирования, идентификатор, представляющий константу, параметр функции или просто термин, используемый в качестве заполнителя в прозе.

Для меня это означает, что <var> не подходит для цен в ваших примерах. Это зависит от того, что вы пытаетесь выполнить, но, похоже, ваши варианты:

  • Используйте микроданные (ref), например Schema.orgs offer лексика для цены на продукцию
  • Используйте <b>, если вы хотите обратить внимание на цену, не указав ее более важную (ref)
  • Используйте <strong>, если цена важна, например общая цена детализированной квитанции
  • Используйте <span> с классом, если вам нужен элемент для стиля цены по-разному, но <b> и <strong> не подходят
  • Если ничего выше не подходит, и вы не хотите подстраивать цену, не делайте ничего

Из приведенных здесь примеров, похоже, не нужно указывать цены. Если примеры из таблицы отображают финансовую информацию, убедитесь, что они находятся в столбце под заголовком <th scope="col">Income</th> или <th scope="col">Price</th> соответственно для доступности.

Надеюсь, что это поможет!

Ответ 2

Глядя на спецификации HTML5, довольно ясно, что цена не считается семантической сущностью. И я согласен. Подумайте об этом так:

Если бы были семантические элементы, это было бы результатом

<p>
   I have 4 apples, 2 oranges and <money>5 <currency>dollars</currency></money>.
</p>

Что это за 5 долларов отличается от 2 апельсинов? Следует ли добавить тег <fruit>?

какой тег вы бы выбрали для суммы и почему?

A span с class, если вы хотите добавить некоторый CSS.
Потому что никто не очень заботится о семантике. Приятно иметь, но на самом деле все, что имеет значение, - это стиль.

Валюта также должна быть упакована в свой собственный тег или нет?

Определенно нет.

Мне бы очень хотелось избежать создания встроенного элемента

Почему?

Вы можете использовать <i>, если хотите выразить "особый характер денег".

Элемент я представляет диапазон текста в альтернативном голосе или настроении или иным образом компенсируется нормальной прозой способом, показывающим другое качество текста,...
http://dev.w3.org/html5/spec/the-i-element.html

Ответ 3

Как насчет <data>?

<p>The price is <data class="money" value="100.00">$100</data>.</p>

В соответствии с спецификацией HTML5:

Элемент data представляет его содержимое вместе с машиночитаемой формой этого содержимого в атрибуте value.

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

В этом случае вы также можете использовать microdata, чтобы добавить дополнительную информацию о типе валюты и т.д.

Ответ 4

Я не вижу ничего более семантического, чем var:

<var>1.200,00 <abbr title="EUR">€</abbr></var>

Ответ 5

Я бы использовал список определений здесь.

Элемент HTML (или элемент списка описания HTML) содержит список пар терминов и описаний. Общее использование этого элемента должны выполнять глоссарий или отображать метаданные (список пары ключ-значение).

<dl>
   <dt>Income:</dt>
   <dd>1.200,00 €</dd>
   <dt>Price:</dt>
   <dd>$31,99</dd>
</dl>

Ответ 6

Используйте тег var. Описывается как: "Переменная или пользовательский текст"

<var> </var>