Мне кажется, я понимаю, о чем ты сейчас просишь. Ваше дополнительное объяснение не имеет ничего общего с динамическими значениями. Звучит так, как будто вы хотите, чтобы пустые значения читались как «пустые» или «отсутствующие» или какой-то текст вместо просто молчания. И ваши значения - это просто текст (в списке определений <dl>
).
Если это правильная интерпретация вашего вопроса, то вы можете делать то, что хотите, с явно скрытым текстом. Это текст, который зрячий пользователь не может видеть, но он все еще доступен для чтения с экрана.
Вашим простым примером должна быть таблица с двумя заголовками столбцов, "тип платежа" и "стоимость", а затем "чек", "наличные" и "dd" должны быть заголовками строк. Использование списка определений не имеет смысла для вашего примера, но, возможно, оно имеет смысл в вашем реальном коде.
Так у вас есть что-то подобное?
<dl>
<dt>payment type</dt>
<dd>value</dd>
<dt>cheque</dt>
<dd></dd>
<dt>cash</dt>
<dd>20</dd>
<dt>dd</dt>
<dd></dd>
</dl>
Опять же, для вашего простого примера, и если ваш реальный код похож, следует использовать таблицу:
<table>
<tr>
<th scope="col">payment type</th>
<th scope="col">value</th>
</tr>
<tr>
<th scope="row">cheque</th>
<td></td>
</tr>
<tr>
<th scope="row">cash</th>
<td>20</td>
</tr>
<tr>
<th scope="row">dd</th>
<td></td>
</tr>
</table>
В любом случае, если вы хотите, чтобы пустой <dd>
или пустой <td>
что-то читал программой чтения с экрана, используйте класс, который визуально скрывает текст. См. Что такое sr-only в Bootstrap 3?
<dt>dd</dt>
<dd><span class="sr-only">empty</span></dd>
или
<tr>
<th scope="row">dd</th>
<td><span class="sr-only">missing</span></td>
</tr>
В WebAIM есть хорошая статья на тему " Невидимый контент только для пользователей программ чтения с экрана ".