Поделиться через


Элементы управления ASP.NET и специальные возможности

Обновлен: Ноябрь 2007

Среда ASP.NET позволяет создавать веб-страницы, которые соответствуют рекомендациям по обеспечению специальных возможностей. Дополнительные сведения см. в разделе Поддержка специальных возможностей в ASP.NET.

Для того чтобы создавать в ASP.NET веб-приложения со специальными возможностями, необходимо понимать, как серверные элементы управления ASP.NET поддерживают специальные возможности. Во многих случаях необходимо настроить элемент управления для создания разметки, которая соответствует рекомендациям по обеспечению специальных возможностей. В редких случаях серверные элементы управления ASP.NET нельзя использовать в приложениях, которые должны быть полностью совместимы с рекомендациями WCAG 1.0. В этих случаях следует избегать использования элементов управления.

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

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

Элемент управления

Поддержка специальных возможностей

AppearanceEditorPart

Этот элемент управления не создает элементы label для присоединения к ним меток.

В результате выполнения всех команд создается один и тот же текст ссылки.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

Для работы элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

BehaviorEditorPart

Элемент управления не создает элементы label для присоединения к ним меток.

В результате выполнения всех команд создается один и тот же текст ссылки.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

Для работы элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

BulletedList

Если для свойства DisplayMode элемента управления задано значение LinkButton, для работы этого элемента управления необходим клиентский сценарий. Можно обойтись без клиентского сценария, но тогда нужно создать шаблоны и добавить элементы управления Button для этих функций.

Если свойству BulletStyle элемента управления присвоено значение CustomImage, убедитесь, что все функции, работу которых обеспечивают графические элементы, доступны пользователям, которые не видят эти графические элементы, с помощью других средств.

Если свойству Target присвоены ссылки, откроется новое окно, а это не согласуется с рекомендациями по поддержке специальных возможностей.

Button

Присвоение значения свойству OnClientClick приводит к зависимости кнопки от клиентского сценария.

Calendar

Этот элемент управления не выводит для просмотра элемент header в столбцах, но выводит элементы th с областью scope для заголовков.

Макет элемента управления выводится для просмотра с помощью таблицы HTML, что не согласуется с некоторыми рекомендациями. Задайте в свойствах Caption и CaptionAlign вывод для просмотра подписи к таблице в соответствии с рекомендациями по обеспечению специальных возможностей.

Этот элемент управления выводит для просмотра навигационные элементы управления LinkButton, для работы которых необходим клиентский сценарий. Можно обойтись без клиентского сценария, но тогда нужно создать шаблоны и добавить элементы управления Button для этих функций.

CatalogZone

Этот элемент управления не создает элементы label для присоединения к ним меток.

В результате выполнения всех команд создается один и тот же текст ссылки.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

Для работы элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

ChangePassword

Для работы этого элемента управления необходим клиентский сценарий.

Если элемент управления настроен на использование изображений, задайте в соответствующем свойстве текста подходящий альтернативный текст. Например, если свойству ChangePasswordButtonType присвоено значение Image, присвойте свойству ChangePasswordButtonText альтернативный текст.

CheckBox

Если свойству AutoPostBack присвоить значение true, для работы этого элемента управления будет необходим клиентский сценарий.

CheckBoxList

Если свойству AutoPostBack присвоить значение true, для работы этого элемента управления будет необходим клиентский сценарий.

CreateUserWizard

Если элемент управления настроен на использование изображений, задайте в соответствующем свойстве текста подходящий альтернативный текст. Например, если свойству CancelButtonType присвоено значение Image, присвойте свойству CancelButtonText альтернативный текст.

Для работы кнопок в этом элементе управления, таких как кнопка "Отправить", а также для работы ссылок перехода от одного шага к другому необходим клиентский сценарий.

DataPager

Если свойство QueryStringField не задано и используются объекты NumericPagerField или NextPreviousPagerField, для работы элемента управления DataPager будет необходим клиентский сценарий. Если объекты поля страничного навигатора настроены на использование изображений, для изображений нельзя будет явно задать альтернативный текст. В качестве альтернативного текста в изображениях используются свойства текста (например, NextPageText). Еще одна возможность состоит в том, чтобы с помощью объекта TemplatePagerField явно определить то, что покажет страничный навигатор.

DetailsView

Если создать столбец ButtonField и задать для кнопки изображение, для него нельзя явно указать альтернативный текст. В качестве альтернативного текста изображения используется свойство объекта Text.

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

Если включен синтаксический анализатор, и свойствам NextPageImageUrl и PreviousPageImageUrl присвоены значения, для изображений, которые используются как кнопки разбиения по страницам, нельзя явно задать альтернативный текст. Вместо него можно воспользоваться свойством PagerTemplate, которое позволяет точно определить, что будет отображать страничный навигатор.

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

Текстовые поля создаются автоматически, если свойству AutoGenerateEditButton присвоено значение true, и с ним не сопоставлены никакие элементы label. Для того чтобы этого избежать, создайте поля шаблонов добавьте свои собственные элементы управления Label и TextBox и сопоставьте их вручную. Задайте в свойствах Caption и CaptionAlign вывод для просмотра подписи к таблице в соответствии с рекомендациями по обеспечению специальных возможностей.

DropDownList

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

Если свойству AutoPostBack присвоить значение true, для работы этого элемента управления будет необходим клиентский сценарий.

EditorZone

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

Для работы этого элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

Этот элемент управления не создает элементы label для присоединения к ним меток.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

FormView

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

По умолчанию в этом элементе управления используются элементы управления LinkButton, для работы которых (например, для перехода в режим редактирования, для разбиения по страницам и т. п.) необходим клиентский сценарий. Можно обойтись без клиентского сценария, но при этом следует воспользоваться свойством PagerTemplate и добавить элемент управления Button.

Задайте в свойствах Caption и CaptionAlign вывод для просмотра подписи к таблице в соответствии с рекомендациями по обеспечению специальных возможностей.

GridView

Задайте поля имени и данных свойства RowHeaderColumn, а также значение true свойстваUseAccessibleHeader, чтобы сведения о заголовке таблицы вывода для просмотра соответствовали рекомендациям по предоставлению специальных возможностей.

Если создается объект ButtonField и задается изображение кнопки, для такого изображения нельзя явно определить альтернативный текст. В качестве альтернативного текста изображения используется свойство объекта Text.

Задайте в свойствах Caption и CaptionAlign вывод для просмотра подписи к таблице в соответствии с рекомендациями по обеспечению специальных возможностей.

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

Если включено разбиение по страницам и заданы свойства NextPageImageUrl и PreviousPageImageUrl, нельзя явно задать альтернативный текст для изображений, которые используются как кнопки разбиения на страницы. Вместо него можно воспользоваться свойством PagerTemplate, которое позволяет точно определить, что будет отображать страничный навигатор.

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

Текстовые поля создаются автоматически, если свойству AutoGenerateEditButton присвоено значение true, и с ним не сопоставлены никакие элементы label. Чтобы избежать этого, создайте столбцы шаблона, добавьте свои собственные элементы управления Label и TextBox и сопоставьте их вручную.

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

HyperLink

Если свойству ImageUrl присвоен URL-адрес графического файла, задайте для свойства Text альтернативный текст на получившемся в результате изображении.

Если свойству Target присвоены ссылки, откроется новое окно, а это не согласуется с рекомендациями по поддержке специальных возможностей.

Image

По умолчанию этот элемент управления не выводит для просмотра альтернативный текст. Задайте свойство AlternateText. Если графика не несет функциональной нагрузки, присвойте свойству GenerateEmptyAlternateText значение true, чтобы в качестве набора alt выводилась пустая строка (""), в результате чего средство программа чтения с экрана пропускает графику.

ImageButton

Для работы этого элемента управления необходим клиентский сценарий.

По умолчанию этот элемент управления не выводит для просмотра альтернативный текст. Задайте свойство AlternateText.

Не пользуйтесь элементом управления ImageButton в качестве гиперкарты, поскольку она не поддерживает регионы, для которых задан собственный альтернативный текст. Вместо него используйте элемент управления ImageMap.

ImageMap

По умолчанию этот элемент управления не выводит для просмотра альтернативный текст. Задайте свойство AlternateText.

Если свойству HotSpotMode этого элемента управления или его отдельным зонам присвоено значение PostBack, для работы такого элемента управления необходим клиентский сценарий.

Если свойству Target присвоены ссылки, откроется новое окно, а это не согласуется с рекомендациями по поддержке специальных возможностей.

Label

Для того чтобы с помощью этого элемента управления выводить для просмотра label текстового поля или другого элемента управления, присвойте свойству AssociatedControlID идентификатор этого элемента управления, связав его таким образом с меткой.

LayoutEditorPart

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

Этот элемент управления не создает элементы label для присоединения к ним меток.

В результате выполнения всех команд создается один и тот же текст ссылки.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

Для работы элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

LinkButton

Для работы этого элемента управления необходим клиентский сценарий.

Не присваивайте свойству Text нескольких элементов управления LinkButton одну и ту же строку, поскольку те, кто пользуется программой чтения с экрана, не смогут различать кнопки.

ListBox

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

Если свойству AutoPostBack присвоить значение true, для работы этого элемента управления будет необходим клиентский сценарий.

Login

Если свойству LoginButtonType присвоено значение Image, то значение свойства LoginButtonText играет роль альтернативного текста.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

LoginName

Присвойте свойству ToolTip текст, например, Выполнен вход с именем пользователя, чтобы программа чтения с экрана правильно интерпретировала текст элемента управления.

LoginStatus

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

Menu

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

Для работы этого элемента управления необходим клиентский сценарий.

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

Если свойству Target присвоены ссылки, откроется новое окно, а это не согласуется с рекомендациями по поддержке специальных возможностей.

Макет элемента управления выводится для просмотра с помощью таблицы HTML, что не согласуется с некоторыми рекомендациями.

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

PageCatalogPart

Этот элемент управления не создает элементы label для присоединения к ним меток.

В результате выполнения всех команд создается один и тот же текст ссылки.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

Для работы элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

PasswordRecovery

Если свойству ClientTarget страницы присвоено значение Downlevel, для работы элемента управления необходим клиентский сценарий.

Если свойству SubmitButtonType присвоено значение Image, то значение свойства SubmitButtonText играет роль альтернативного текста.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

PropertyGridEditorPart

Элемент управления не создает элементы label для присоединения к ним меток.

В результате выполнения всех команд создается один и тот же текст ссылки.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

Для работы элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

RadioButton

Если свойству AutoPostBack присвоить значение true, для работы этого элемента управления будет необходим клиентский сценарий.

RadioButtonList

Если свойству AutoPostBack присвоить значение true, для работы этого элемента управления будет необходим клиентский сценарий.

SiteMapPath

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

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

Table, TableRow, TableCell, TableHeaderCell, TableHeaderRow и TableFooterRow.

Задайте в свойствах Caption и CaptionAlign вывод для просмотра подписи к таблице в соответствии с рекомендациями по обеспечению специальных возможностей.

При создании объекта Table включите элементы управления TableHeaderRow и TableHeaderCell.

В элементах управления TableHeaderRow, Table и TableFooterRow присвойте свойству TableSection значение TableBody, TableHeader или TableFooter. В результате этот элемент управления будет выводить для просмотра элементы управления thead, tbody и tfoot соответственно.

В элементах управления TableCell присвойте значение свойству AssociatedHeaderCellID, чтобы этот элемент управления выводил для просмотра строку header, которая сопоставляет ячейке ее заголовок.

Присвойте свойству Scope элемента управления значение, сопоставляющее заголовок с соответствующим столбцом данных.

TextBox

Если свойству AutoPostBack присвоить значение true, для работы этого элемента управления будет необходим клиентский сценарий.

TreeView

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

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

Для работы этого элемента управления необходим клиентский сценарий.

Если присвоить свойству Target элемента управления TreeView или отдельным узлам значение _blank, то элемент управления будет открывать новое окно, что не согласуется с рекомендациями по предоставлению специальных возможностей.

WebPartZone

Этот элемент управления не создает элементы label для присоединения к ним меток.

В результате выполнения всех команд создается один и тот же текст ссылки.

Отрисовывается альтернативный текст ссылок, но он не настраивается.

Для работы элемента управления необходим клиентский сценарий.

Этот элемент управления не выводит для просмотра параметры клавиш доступа или индекс перехода по клавише TAB.

Если присвоить свойству HelpMode значение Modal или Modeless, то элемент управления будет открывать новое окно, что не согласуется с рекомендациями по предоставлению специальных возможностей.

Wizard

Этот элемент управления выводит для просмотра навигационные элементы управления LinkButton, для работы которых необходим клиентский сценарий. Можно обойтись без клиентского сценария, но тогда нужно создать шаблоны и добавить элементы управления Button для этих функций.

Проверяющие элементы управления

По умолчанию проверяющие элементы управления выводят для просмотра клиентский сценарий для проверки на стороне клиента. Однако, поскольку встроенные проверяющие элементы управления (за исключением элемента управления CustomValidator) автоматически выполняют избыточную проверку в серверном коде, можно присвоить свойству EnableClientScript значение false, чтобы избежать визуализации клиентского сценария проверяющих элементов управления.

Присвойте свойствам Text и ErrorMessage осмысленные значения, соответствующие сообщениям об ошибках. Не присваивайте им символ звездочки (*).

См. также

Основные понятия

Поддержка специальных возможностей в ASP.NET