HTML-атрибут role

20 августа 2015,

  1. alert
  2. alertdialog
  3. application
  4. article
  5. banner
  6. button
  7. checkbox
  8. columnheader
  9. combobox
  10. complementary
  11. contentinfo
  12. definition
  13. dialog
  14. directory
  15. document
  16. form
  17. grid
  18. gridcell
  19. group
  20. heading
  21. img
  22. link
  23. list
  24. listbox
  25. listitem
  26. log
  27. main
  28. marquee
  29. math
  30. menu
  31. menubar
  32. menuitem
  33. menuitemcheckbox
  34. menuitemradio
  35. navigation
  36. note
  37. option
  38. presentation
  39. progressbar
  40. radio
  41. radiogroup
  42. region
  43. row
  44. rowgroup
  45. rowheader
  46. scrollbar
  47. search
  48. separator
  49. slider
  50. spinbutton
  51. status
  52. tab
  53. tablist
  54. tabpanel
  55. textbox
  56. timer
  57. toolbar
  58. tooltip
  59. tree
  60. treegrid
  61. treeitem
Описание значений html-атрибута role
Значение атрибута Описание
alert Оповещение пользователя, которое обладает следующими свойствами:
  • Требует скорейшего уведомления;
  • Не перемещает фокус ввода на себя;
  • Не требует действий для закрытия. Если требуются действия для закрытия, то следует использовать alertdialog.
Элементам с ролью alert неявно устанавливаются атрибуты aria-live = "assertive" и aria-atomic = "true".

См. также alertdialog и status.

alertdialog

Разновидность диалога, содержащая важную информацию, но при этом перемещающая фокус ввода на элементы внутри этого диалога. Данный вид диалога следует отображать как модальный и устанавливать фокус ввода на элементы внутри него. В отличии от alert, alertdialog может взаимодействовать с пользователем.

Также следует использовать атрибут aria-describedby для указания непосредственно на отображаемое сообщение. Если этого не сделать, то технологии, с помощью которых работает пользователь (напр., экранный диктор), будут самостоятельно определять содержание сообщения.

См. также alert и dialog.

application

Часть html-разметки, объявленная как веб-приложение. Технологии экранного доступа, встретив данное значение, должны переходить в режим, позволяющий использовать клавиатуру для навигирования внутри этого веб-приложения.

Если страница целиком является веб-приложением, то данный атрибут необходимо присваивать корневым элементам, таким как <body> в HTML и <svg> в SVG.

Помимо этого необходимо указать заголовок (title) или метку (label) веб-приложения. Это осуществляется двумя способами:

  • Если веб-приложением является вся страница, то используются стандартный тег <title> в HTML и SVG;
  • Иначе, используется атрибут aria-labelledby.

article

Раздел страницы, который образует самостоятельную часть документа, страницы или сайта.

Содержание, отмеченное значением article может быть записью в блоге, журнальной или новостной заметкой, загруженный пользователями контент и другая самостоятельная часть контента. Под "самостоятельностью" подразумевается то, что эта часть контента может быть представлена, допустим, в RSS-фиде.

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

banner

Часть html-разметки, которая содержит контент, ориентированный на сайт в целом, нежели на конкретную веб-страницу.

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

Внутри элементов, отмеченных значениями document или application, значение banner может быть присвоено не более одному элементу.

button

Элемент, позволяющий взаимодействовать с пользователем путём клика (click) или нажатия (press).

См. также link.

Кнопки поддерживают атрибут aria-pressed. Если этот атрибут не пустой, то кнопка считается переключаемой (toggle button). Возможные значения атрибута aria-pressed:

  • true — кнопка находится в нажатом состоянии;
  • false — кнопка находится в не нажатом состоянии.

Если атрибут aria-pressed не указан, то кнопка считается обычной кнопкой (command button).

Поддерживаемые атрибуты:

  • aria-expanded
  • aria-pressed
checkbox
Элемент ввода "флажок", который необходимо указывать совместно с атрибутом aria-checked и который может принимать три значения:
  • true — флажок отмечен;
  • false — флажок не отмечен (используется по умолчанию);
  • mixed — группа флажков, имеющая как отмеченные, так и не отмеченные элементы.
Обязательные атрибуты:
  • aria-checked
columnheader

Ячейка, содержащая заголовок столбца.

Используется для указания заголовков в table или grid и является эквивалентом HTML-тега <th>. При использовании необходимо располагать внутри элемента с ролью row.

Поддерживаемые атрибуты:
  • aria-sort
combobox

Комбинированное представление текстового поля и всплывающего списка (listbox). Может быть редактируемым. Обычно редактируемые выпадаемые списки (comboboxes) используются вместе с функцией автоподсказки (autocomplete). В этом случае необходимо явно указывать атрибут aria-autocomplete в текстовом поле.

Правила работы с атрибутом aria-autocomplete:
  • Если установлено aria-autocomplete = "none", то разработчик обязан устанавливать фокус на связанный выпадающий список (listbox) и управлять выбором значения, чтобы экранный диктор мог следовать за выбранным значением;
  • Если установлено aria-autocomplete = "both" или "inline", то разработчик обязан обновлять значение в связанном текстовом поле для того, чтобы экранный диктор анонсировал текущее выбранное значение;
  • Если установлено aria-autocomplete = "list", то разработчик обязан связать combobox с текстовым полем посредством атрибута aria-owns. Напр.:
<input type="text" aria-label="Tag" role="combobox" aria-expanded="true" aria-autocomplete="list" aria-owns="owned_listbox" aria-activedescendant="selected_option">
<ul role="listbox" id="owned_listbox">
    <li role="option">Zebra</li>
    <li role="option" id="selected_option">Zoom</li>
</ul>
Элементам с ролью combobox неявно устанавливается атрибут aria-haspopup = "true".

Обязательные атрибуты:

  • aria-expanded

Поддерживаемые атрибуты:

  • aria-autocomplete
  • aria-required

См. также listbox.

complementary

Раздел документа, который:

  • Содержит дополнительный контент к основному содержанию документа;
  • Находится на одном уровне DOM-иерархии с основным содержанием документа;
  • Остаётся значимым при отделении от основного контента, но не может быть полностью выделен в отдельный контент.

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

contentinfo

Область, которая содержит информацию о родительском документе. Например, авторство, ссылки на положение о конфиденциальности, условия пользования и т.д.

Внутри элементов, отмеченных значениями document или application, значение contentinfo может быть присвоено не более одному элементу.

definition

Определение термина или концепции.

В случае использования HTML, разработчики должны включать определение в соответствующие HTML-теги <dfn> или <dt>. Помимо этого, необходимо указывать атрибут aria-labelledby для каждого термина.

Пример:
<p>Сегодня я расскажу об <dfn id="role">языке программирования C#</dfn> — <span role="definition" aria-labelledby="role">
это высокоуровненвый язык программирования, разработанный компанией Microsoft.</span>
</p>
dialog

Диалог — это окно, которое прерывает текущий процесс и запрашивает от пользователя дополнительную информацию или ожидает ответа.

При работе с диалогами разработчики должны руководствоваться следующими правилами:
  • Должна быть указана метка (label) диалога. Если не предусмотрено других механизмов, то это делается с помощью атрибутов aria-label или aria-labelledby;
  • Каждый активный диалог должен иметь дочерний элемент с установленным на него фокусом.

См. также alertdialog.

directory

Список членов группы. Например, статичная таблица содержания.

Данное значение следует указывать даже в случае, если содержание (например, книги) не имеет ссылок. Поддерживаются вложенные списки.

Для динамического содержания возможно использование значения tree.

document

Область, содержащая информацию, объявленную как основной контент.

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

Если страница является документом целиком, то данный атрибут необходимо присваивать корневым элементам, таким как <body> в HTML и <svg> в SVG.

Также необходимо указать заголовок (title) или метку (label) документа. Это осуществляется двумя способами:
  • Если документом является вся страница, то используются стандартный тег <title> в HTML и SVG;
  • Иначе, используется атрибут aria-labelledby.
Поддерживаемые атрибуты:
  • aria-expanded
form

Область, содержащая объекты, которые используются для создания формы.

При создании формы следует, по возможности, использовать нативные средства языка программирования. Для поисковых целей следует использовать значение role = "search".

Все метки (labels) на форме должны быть видимыми и связаны с соответсвующими контролами с помощью атрибута aria-labelledby.

Если для отправки формы не используется стандартное событие onsubmit, то разработчик должен предусмотреть уведомление пользователя об этом событии.

Элемент с ролью grid считается редактируемым, если явно не указано свойство aria-readonly = "true". Для редактирования только отдельных ячеек следует использовать это же свойство aria-readonly к нужным ячейкам (gridcell).

См. также search.

grid

Интерактивный контрол, содержащий ячейки данных и упорядочный в строки и колонки.

Грид позволяет перемещать фокус ввода между ячейками. К примеру, грид может использоваться как модель данных (скрытый средствами CSS, но доступный технологиям доступа) для графиков.

При разработке следует придерживаться следующих правил: .

  • Элемент с ролью gridcell принадлежит элементу с ролью row, а элемент с ролью row, в свою очередь, принадлежит элементу с ролями rowgroup, grid или treegrid;
  • Если к нативным тегам, например, <tr> добавляются атрибуты aria-*, то необходимо явно указать роль такого элемента;
  • Заголовки строк и столбцов указываются с помощью ролей rowheader и columnheader ;
  • Для объединения нескольких строк или ячеек следуют использовать нативные HTML-атрибуты colspan и rawspan;
  • Применение свойства aria-selected к элементу с ролью gridcell должно позволять пользователю выбирать (select) такие ячейки;
  • Указание свойства aria-multiselectable = "true" к элементу с ролью grid должно позволять пользователю выбирать несколько ячеек;
Поддерживаемые атрибуты:
  • aria-level
  • aria-multiselectable
  • aria-readonly
gridcell

Ячейка в элеметах с ролями grid или treegrid.

Ячейки могут быть активными, редактируемыми и выбираемыми (active, editable, and selectable). Ячейки могут быть связаны с веб-приложением посредством атрибута aria-controls.

Если определить релевантные заголовки из DOM-структуры невозможно, то необходимо явно указывать их с помощью ролей rowheader и columnheader с использованием атрибута aria-describedby.

В элементе с ролью treegrid можно указывать раскрываемые (expandable) ячейки с помощью атрибута aria-expanded, который необходимо присвоить каждой раскрываемой ячейки.

Элемент с ролью gridcell обязательно должен принадлежить элементу с ролью row.

Поддерживаемые атрибуты:
  • aria-readonly
  • aria-required
  • aria-selected
group

Набор объектов интерфейса, который не включаются технологиями доступа (например, экранными дикторами) в сводку или содержание страницы. В противоположность элементу с ролью region, который включается в содержание страницы.

Разработчики должны использовать роль group для логического формирования коллекций элементов, напрммер, таких, как дочерние узлы в дереве (tree).

Элементы с ролью group могут быть вложенными.

Поддерживаемые атрибуты:
  • aria-activedescendant
heading

Заголовок раздела страницы.

Зачастую, элемнты с ролью heading используются совместно с атрибутом aria-labelledby. Для указания уровня вложенности заголовков можно использовать атрибут aria-level.

Поддерживаемые атрибуты:

  • aria-level
img

Контейнер для элементов, образующих одно изображение.

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

Разработчики должны предусмотреть альтернативный текст или метку (label) для такого изображения (например, с помощью атрибутов aria-labelledby или aria-describedby).

link

Интерактивная ссылка на внутренний или внешний ресурс, которая при активации перенаправляет пользователя на этот ресурс.

Применяется, главным образом, когда не используется стандартный HTML-тег <a href="..."> (например, когда редирект происходит с помощью скриптов).

См. также: button.

list

Группа не интерактивных элементов списка.

Список может содержать дочерние элементы с ролью listitem или group. В свою очередь group может содержать дочерние элементы с ролью listitem.

См. также: listbox.

listbox

Виджет, который позволяет пользователю выбрать один или более элементов из списка.

Элементы такого списка могут содержать изображения (в отличии от нативного HTML-тега <select>).

Элементам списка listbox должна быть присвоена роль option.

Разработчики должны убедиться, что все элементы списка доступны с помощью клавиатуры.

Поддерживаемые атрибуты:

  • aria-multiselectable
  • aria-required

См. также: combobox и list.

listitem

Представляет один элементв в списке или группе.

Элементы с ролью listitem обязательны должны входит в элементы с ролями list или group.

Поддерживаемые атрибуты:

  • aria-level
  • aria-posinset
  • aria-setsize
log

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

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

Элементам с ролью log неявно устанавливается атрибут aria-live = "polite".

См. также: marquee.

main

Основной контент документа.

Роль main является альтернативой ссылкам вида "Перейти к основному содержанию" для технологий доступа (например, экранным дикторам).

Элементы с ролями document или application могут содержать только один элемент с ролью main.

marquee

Интерактивная область с переодически обновляющейся, но не существенной информацией.

Обычно используется для отображения рекламных баннеров, котировок валют и т.д.

Элементам с ролью marquee неявно устанавливается атрибут aria-live = "off".

См. также: log.

math

Контент, содержащий математические выражения.

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

На сегодняшний день считается неуместным использовать изображения для иллюстрации математических выражений, однако существует значительный объём унаследованного контента, где используются изображения. В таких случаях, текст, являющийся эквивалентом изображения, должен быть валидной MathML или TeX разметкой. Помимо этого, такие изображения должны иметь описания, которые могут быть прочитаны экранным диктором. Для этого можно воспользоваться атрибутом aria-describedby.

Пример разметки MathML:

<div role="math" aria-label="6 divided by 4 equals 1.5">
    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mfrac>
            <mn>6</mn>
            <mn>4</mn>
        </mfrac>
        <mo>=</mo>
        <mn>1.5</mn>
    </math>
</div>
                        

Пример разметки TeX:

<div role="math" aria-label="6 divided by 4 equals 1.5">
  \frac{6}{4}=1.5
</div>
                        
menu

Виджет, который предлагает пользователю список вариантов на выбор.

Элементы с ролью menu обычно используются для маркировки меню, аналогичных десктопным приложениям.

Элементы с ролью menu обязательно должны содержать элементы с ролями: group > menuitemradio, menuitem, menuitemcheckbox, menuitemradio.

Разработчики должны убедиться, что все элементы меню доступны с помощью клавиатуры.

Различие между menu и menubar.
menubar

Представление роли menu, которое обычно видимо и распологается горизонтально.

Элементы с ролью menubar используются для создания горизонтального меню (toolbar) аналогичному в десктопных приложениях для Windows, Mac и Gnome.

Разработчики должны убедиться, что все элементы меню доступны с помощью клавиатуры.

menuitem

Опция/пункт для выбора пользователем в элементах с ролями menu и menubar. Обязательно должен принадлежать одному из элементов с ролями: group, menu или menubar.

Для того, чтобы сделать пункт меню недоступным используется атрибут aria-disabled. Для указания того, что данный пункт меню имеет подменю необходимо использовать атрибут aria-haspopup = "true".

Разделять пункты меню можно с помощью роли separator.

menuitemcheckbox

Элемент с ролью menuitem и возможностью установки состояния (checkable state) в один из трёх вариантах: true, false, mixed.

Для установки состояния используется атрибут aria-checked, который принимает следующие значения:

  • true — флажок установлен (checked);
  • false — флажок не установлен (unchecked);
  • mixed — у данного пункта меню имеется подменю, пункты которого находятся в разных состояниях.

Элемент с ролью menuitemcheckbox обязательно должен принадлежать одному из элементов с ролями: menu или menubar.

Разделять пункты меню можно с помощью роли separator.

menuitemradio

Набор элементов menuitem c возможностью установки состояния (checkable state) каждого, но при этом отмеченным (checked) может быть только один элемент из этого набора.

Элемент с ролью menuitemradio обязательно должен принадлежать одному из элементов с ролями: group, menu или menubar.

Разделять пункты меню можно с помощью роли separator.

navigation

Коллекция элементов (как правило, ссылок), служащих для навигации по документу или связанным документам.

note

Секция, которая предназначена для вводного или вспомогательного контента по отношению к основному контенту ресурса.

option

Элемент с возможностью выбора (selectable) в элементе с ролью listbox.

Элемент с ролью option обязательно должен принадлежать элементу с ролью listbox.

Поддерживаемые атрибуты:

  • aria-checked
  • aria-posinset
  • aria-selected
  • aria-setsize
presentation

Элемент, нативная разметка которого (в нашем случае HTML) не требует привязки к технологиям доступа (accessibility API).

Примеры:

<!-- 1. [role="presentation"] отменяет неявную роль "heading", оставляя только содержание. -->
    <h1 role="presentation"> Sample Content </h1>
<!-- 2. Для HTML-тега <span> нет неявных ролей, поэтому содержание остаётся доступным. -->
    <span> Sample Content </span>
<!-- 3. Такое объявление роли является излишним. -->
    <span role="presentation"> Sample Content </span>
<!-- 4. Во всех перечисленных случаях содержание элемента остаётся доступным технологиям доступа. -->
    <!-- <> --> Sample Content <!-- </> -->
progressbar

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

Разработчики должны указать значения для атрибутов aria-valuenow, aria-valuemin и aria-valuemax. Если эти значения определить не возможно, то атрибут aria-valuenow указывать не следует. В процессе визуального отображения хода работ, необходимо также обновлять значения этих атрибутов.

Если описание процесса работы элемента progressbar находится в отдельной области, то необходимо связать их с помощью атрибута aria-describedby, а также установить этой области атрибут aria-busy = "true" до тех пор, пока не будет закончен процесс.

Элементам с ролью progressbar неявно устанавливается атрибут aria-readonly = "true".
radio

Радоикнопка (radiobutton) в группе радиокнопок.

Группа радиокнопок обязана быть включена в элемент с ролью radiogroup.

Если из DOM-структуры нельзя выделить группу радиокнопок, то для установления взаимосвязей необходимо использовать атрибут aria-owns к элементу с ролью radiogroup.

radiogroup

Группа радио-кнопок (radio buttons), среди которых одномоментно может быть отмечена (checked) только одна.

Для управления состоянием каждой отдельной радиокнопки служит атрибут aria-checked = true/false.

Поддерживаемые атрибуты:

  • aria-required
region

Большая секция веб-страницы или документа, которая достаточно значима для включения в сводку веб-страницы или документа технологиями доступа.

Регион должен иметь заголовок с помощью атрибута aria-labelledby.

row

Строка с ячейками в элементе grid.

Строки содержат элементы gridcell для организации элемента grid.

В элементе treegrid возможно указание строки как раскрывающейся (expandable), используя атрибут aria-expanded для указания текущего состояния.

Элемент row обязательно должен принадлежать одному из элементов с ролями grid, rowgroup или treegrid.

Поддерживаемые атрибуты:

  • aria-level
  • aria-selected
rowgroup

Группа, которая содержит одну или более строк в элементе grid.

Роль rowgroup устанавливает свзяь со входящими в неё элементами row и является структурным эквивалентом HTML-тегов <thead>, <tfoot> и <tbody>.

Элемент rowgroup обязательно должен входит в элемент grid.

rowheader

Ячейка, содержащая заголовок строки в элементе grid.

Является структурным эквивалентом атрибута scope = "row" в HTML-теге <th>.

Элемент rowheader обязательно должен быть связан с элементом row.

Поддерживаемые атрибуты:

  • aria-sort
search

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

См. также form.

separator

Видимый элемент, предназначеный для разделения частей контента или пунктов меню в элементе menu.

Поддерживаемые атрибуты:

  • aria-expanded
  • aria-orientation
scrollbar

Графический элемент, который контролирует перемещение контента внутри видимой части (экрана). Не используется, если весь контент видим на экране.

Разработчики обязаны использовать атрибут aria-controls в элементе scrollbar для ссылки на скролируемую область, которую он контролирует.

Элементам с ролью scrollbar неявно устанавливается атрибут aria-orientation = "vertical".

Обязательные атрибуты:

  • aria-controls
  • aria-orientation
  • aria-valuemax
  • aria-valuemin
  • aria-valuenow
slider

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

Обязательные атрибуты:

  • aria-valuemax
  • aria-valuemin
  • aria-valuenow

Поддерживаемые атрибуты:

  • aria-orientation
spinbutton

Элемент, позволяющий пользователю выбрать значение из установленного диапазон путём дискретного (пошагового) увеличения или уменьшения значений.

Обязательные атрибуты:

  • aria-valuemax
  • aria-valuemin
  • aria-valuenow

Поддерживаемые атрибуты:

  • aria-required
status

Контейнер, содержащий уведомительную информацию, но не настолько важную, чтобы отображать её с помощью элемента alert.

Данный элемент не должен иметь фокус ввода (focusable).

Элементам с ролью status неявно устанавливаются атрибуты aria-live = "polite" и aria-atomic = "true".

См. также alert.

tab

Метка (label), предоставляющая механизм выбора и дальнейшего отображения содержания вкладки.

Элемент с ролью tab должен принадлежать элементу с ролью tablist.

Для маркировки выбранной вкладки следует использовать атрибут aria-selected.

Поддерживаемые атрибуты:

  • aria-selected
tablist

Набор элементов с ролью tab, каждый из которых ссылается на соответствующий элемент tabpanel.

Поддерживаемые атрибуты:

  • aria-level
  • aria-multiselectable
tabpanel

Контейнер для элемента с ролью tab.

Разработчики должны связывать элементы tabpanel с соответствующими элементами tab с помощью атрибутов aria-controls или aria-labelledby.

textbox

Поле для ввода текста в свободной форме.

Данная роль в основном используется в тех языках, в которых нет нативных элементов для работы с текстовыми полями, либо если для представления текстового поля используется не нативные инструменты (например, с помощью различных CSS-трюков).

Поддерживаемые атрибуты:

  • aria-activedescendant
  • aria-autocomplete
  • aria-multiline
  • aria-readonly
  • aria-required
timer

Разновидность интерактивной области, содержащей цифровой счётчик.

Элементам с ролью timer неявно устанавливается атрибут aria-live = "off".
toolbar

Набор часто используемых функциональных кнопок.

Элементы с ролью toolbar часто являются подмножеством элементов с ролью menubar.

Если на странице расположено более одного элемента toolbar, то каждый из них должен быть подописан с помощью атрибута aria-label.

tooltip

Контекстная всплывающая подсказка.

tree

Разновидность элемента list, который может содержать вложенные подгруппы, которые в свою очередь могут быть сворачиваемыми (collapsed and expanded).

Обязательные атрибуты:

  • group > treeitem
  • treeitem

Поддерживаемые атрибуты:

  • aria-multiselectable
  • aria-required
treegrid

Элемент grid, строки которого могут быть сворачиваемыми так же, как и в элементе tree.

Элемент treegrid считается редактируемым, если не указан иное. Режим только для чтения может быть установлен атрибутом aria-readonly = "true". Действие этого атрибута распространяется на все ячейки (gridcell). Однако режим каждой отдельной ячейки можно также менять атрибутом aria-readonly.

Элемент treegrid требует владения элементами row.

treeitem

Опция/пункт в элементе с ролью tree.

Элемент treeitem должен принадлежать элементам с ролями group или tree.

Перевод выполнен на основе Accessible Rich Internet Applications (WAI-ARIA) 1.0. — The Roles Model.

Смотрите также: Адаптация сайтов под нужды слепых и слабовидящих людей.