피해야 할 접근성 사례Accessibility practices to avoid

액세스할 수 있는 Windows 앱을 만들려는 경우 다음을 방지 하는 방법 목록을 참조 하세요.If you want to create an accessible Windows app, see this list of practices to avoid:

  • Microsoft UI 자동화 지원이 이미 구현 된 기본 Windows 컨트롤 또는 컨트롤을 사용할 수 있는 경우 사용자 지정 UI 요소를 빌드하지 마세요 .Avoid building custom UI elements if you can use the default Windows controls or controls that have already implemented Microsoft UI Automation support. 표준 Windows 컨트롤은 기본적으로 액세스할 수 있으며, 일반적으로 응용 프로그램에 관련 된 몇 가지 내게 필요한 옵션 특성만 추가 해야 합니다.Standard Windows controls are accessible by default and usually require adding only a few accessibility attributes that are app-specific. 이와 대조적으로 실제 사용자 지정 컨트롤에 대 한 Automationpeer 지원 구현은 약간 더 관련이 있습니다 ( 사용자 지정 자동화 피어참조).In contrast, implementing the AutomationPeer support for a true custom control is somewhat more involved (see Custom automation peers).

  • 정적 텍스트 또는 다른 비 대화형 요소를 탭 순서에 배치 하지 않습니다. 예를 들어, 대화형이 아닌 요소에 대해 TabIndex 속성을 설정 합니다.Don't put static text or other non-interactive elements into the tab order (for example, by setting the TabIndex property for an element that is not interactive). 비 대화형 요소는 탭 순서에 있는 경우 사용자에 대 한 키보드 탐색의 효율성을 줄이기 때문에 키보드 접근성 지침에 대 한 것입니다.If non-interactive elements are in the tab order, that is against keyboard accessibility guidelines because it decreases efficiency of keyboard navigation for users. 많은 보조 기술에서 탭 순서를 사용 하 고 보조 기술 사용자에 게 앱의 인터페이스를 제공 하는 방법에 대 한 논리의 일부로 요소에 초점을 맞출 수 있는 기능을 사용 합니다.Many assistive technologies use tab order and the ability to focus an element as part of their logic for how to present an app's interface to the assistive technology user. 탭 순서의 텍스트 전용 요소는 탭 순서 (단추, 확인란, 텍스트 입력 필드, 콤보 상자, 목록 등)에서 대화형 요소만 필요로 하는 사용자를 혼동할 수 있습니다.Text-only elements in the tab order can confuse users who expect only interactive elements in the tab order (buttons, check boxes, text input fields, combo boxes, lists, and so on).

  • 프레젠테이션 순서가 자식 요소 선언 순서 (사실상 논리적 순서)와 다른 경우가 많기 때문에 캔버스 요소와 같은 UI 요소의 절대 위치 지정을 사용 하지 마십시오 .Avoid using absolute positioning of UI elements (such as in a Canvas element) because the presentation order often differs from the child element declaration order (which is the de facto logical order). 가능 하면 UI 요소를 문서 또는 논리적 순서로 정렬 하 여 화면 판독기가 올바른 순서로 해당 요소를 읽을 수 있도록 합니다.Whenever possible, arrange UI elements in document or logical order to ensure that screen readers can read those elements in the correct order. UI 요소의 표시 순서가 문서 또는 논리적 순서와 다를 수 있는 경우 명시적 탭 인덱스 값 ( TabIndex설정)을 사용 하 여 올바른 읽기 순서를 정의 합니다.If the visible order of UI elements can diverge from the document or logical order, use explicit tab index values (set TabIndex) to define the correct reading order.

  • 정보를 전달 하는 유일한 방법으로 색을 사용 하지 마세요.Don’t use color as the only way to convey information. 색이 블라인드 인 사용자는 색 상태 표시기와 같이 색을 통해서만 전달 되는 정보를 받을 수 없습니다.Users who are color blind cannot receive information that is conveyed only through color, such as in a color status indicator. 정보에 액세스할 수 있도록 다른 시각적 신호 (특히 텍스트)를 포함 합니다.Include other visual cues, preferably text, to ensure that information is accessible.

  • 응용 프로그램 기능에 꼭 필요한 경우가 아니면 전체 앱 캔버스를 자동으로 새로 고치지 마세요 .Don’t automatically refresh an entire app canvas unless it is really necessary for app functionality. 페이지 콘텐츠를 자동으로 새로 고쳐야 하는 경우 페이지의 특정 영역만 업데이트 합니다.If you need to automatically refresh page content, update only certain areas of the page. 보조 기술은 일반적으로 효과적인 변경이 최소화 된 경우에도 새로 고쳐진 앱 캔버스가 완전히 새로운 구조 라고 가정 합니다.Assistive technologies generally must assume that a refreshed app canvas is a totally new structure, even if the effective changes were minimal. 보조 기술 사용자에 대 한이 비용은 새로 고쳐진 앱에 대 한 문서 보기 또는 설명을 다시 만들고 사용자에 게 다시 제공 해야 합니다.The cost of this to the assistive technology user is that any document view or description of the refreshed app now must be recreated and presented to the user again.

    사용자가 시작 하는 고의적인 페이지 탐색은 응용 프로그램 구조를 새로 고치기 위한 합법적인 사례입니다.A deliberate page navigation that is initiated by the user is a legitimate case for refreshing the app's structure. 그러나 탐색을 시작 하는 UI 항목이 올바르게 식별 되었는지 확인 하거나 이름을 지정 하 여 컨텍스트를 변경 하 고 페이지를 다시 로드 합니다.But make sure that the UI item that initiates the navigation is correctly identified or named to give some indication that invoking it will result in a context change and page reload.

    참고

    영역 내의 콘텐츠를 새로 고치는 경우 해당 요소의 AccessibilityProperties.LiveSetting 접근성 속성을 기본 설정이 아닌 Polite 또는 Assertive 중 하나로 설정하는 것이 좋습니다.If you do refresh content within a region, consider setting the AccessibilityProperties.LiveSetting accessibility property on that element to one of the non-default settings Polite or Assertive . 일부 보조 기술은이 설정을 라이브 지역의 액세스 가능한 리치 (리치 인터넷 응용 프로그램) 개념에 매핑할 수 있으므로 사용자에 게 콘텐츠 영역이 변경 되었음을 알릴 수 있습니다.Some assistive technologies can map this setting to the Accessible Rich Internet Applications (ARIA) concept of live regions and can thus inform the user that a region of content has changed.

  • 초당 세 번 이상 깜박이는 UI 요소를 사용 하지 마십시오.Don’t use UI elements that flash more than three times per second. 깜박이는 요소로 인해 일부 사용자가 seizures 수 있습니다.Flashing elements can cause some people to have seizures. 플래시 하는 UI 요소를 사용 하지 않는 것이 좋습니다.It is best to avoid using UI elements that flash.

  • 사용자 컨텍스트를 변경 하거나 기능을 자동으로 활성화 하지 않습니다.Don’t change user context or activate functionality automatically. 컨텍스트 또는 활성화 변경은 사용자가 포커스가 있는 UI 요소에 대해 직접 작업을 수행 하는 경우에만 발생 합니다.Context or activation changes should occur only when the user takes a direct action on a UI element that has focus. 사용자 컨텍스트의 변경 내용에는 포커스 변경, 새 콘텐츠 표시, 다른 페이지로 이동 등이 있습니다.Changes in user context include changing focus, displaying new content, and navigating to a different page. 사용자를 포함 하지 않고 컨텍스트를 변경 하는 것은 장애가 있는 사용자를 위해 세분화 될 수 있습니다.Making context changes without involving the user can be disorienting for users who have disabilities. 이 요구 사항에 대 한 예외로는 하위 메뉴 표시, 폼 유효성 검사, 다른 컨트롤에 도움말 텍스트 표시, 비동기 이벤트에 대 한 응답으로 컨텍스트 변경 등이 있습니다.The exceptions to this requirement include displaying submenus, validating forms, displaying help text in another control, and changing context in response to an asynchronous event.