... > React > Accessibility (Доступность) в...

Accessibility (Доступность) в React

НАВИГАЦИЯ ПО СТРАНИЦЕ

Использование атрибутов ARIA Управление фокусом Преимущества Рекомендации

Доступность (Accessibility, A11y) в React играет важную роль в создании приложений, которые доступны для всех пользователей, включая людей с ограниченными возможностями. Вот несколько основных подходов к улучшению доступности в React:

1. Использование атрибутов ARIA (Accessible Rich Internet Applications):

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

Пример:

<button aria-label="Delete" onClick={handleDelete}>
  <span aria-hidden="true">❌</span>
</button>

2. Управление фокусом:

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

import React, { useRef } from 'react';

const FocusableComponent = () => {
  const inputRef = useRef(null);

  const handleClick = () => {
    inputRef.current.focus();
  };

  return (
    <div>
      <input ref={inputRef} />
      <button onClick={handleClick}>Focus Input</button>
    </div>
  );
};

3. Тестирование на соответствие стандартам доступности:

Используйте инструменты для тестирования доступности, такие как Axe, для автоматической проверки вашего приложения на соответствие стандартам доступности.

Пример использования Axe:

npm install --save-dev @axe-core/react jest-axe
import React from 'react';
import { render } from '@testing-library/react';
import { axe, toHaveNoViolations } from 'jest-axe';

expect.extend(toHaveNoViolations);

test('the component should have no accessibility violations', async () => {
  const { container } = render(<MyComponent />);
  const results = await axe(container);

  expect(results).toHaveNoViolations();
});

Преимущества улучшения доступности:

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

  • Улучшение опыта пользователей и расширение аудитории вашего приложения.

Рекомендации:

  • Используйте атрибуты ARIA для предоставления дополнительной информации о семантике элементов.

  • Гарантируйте, что ваше приложение управляет фокусом элементов и поддерживает навигацию с клавиатуры.

  • Регулярно тестируйте ваше приложение на соответствие стандартам доступности с использованием инструментов тестирования.