Enterprise NG 2020의 접근성 워크숍에서 얻은 교훈

6993 단어 angulara11ywebdev
다음은 및의 Build for Accessibility with Angular 워크숍에서 흥미로운 몇 가지 사항입니다.
  • 레이블은 양식 필드에만 사용됩니다. 다른 곳에서는 레이블을 사용하지 마십시오
  • .
  • 웨이브를 사용하여 페이지 구조를 볼 수 있음


  • AX는 문제 및 가능한 해결 방법에 대한 자세한 정보와 링크를 제공합니다
  • .


  • 역할 및 아리아 레이블과 같은 접근성 관련 속성을 테스트하는 단위 테스트를 사용합니다.

  • it('icon butttons should have aria labels', ( ) => {
     const iconButtons = fixture.debugElement.nativeElement.querySelectorAlK'button[mat-icon-button]'); 
     const missingLabels => Array.from(iconButtons).some((button: HTMLElement) => ¡button.getAttribute('aria-label'); 
     expect(missingLabels).toBeFalsy();
    });
    
    it('mat list should have a role of list', () => {
     const list = fixture.debugElement.nativeElement.querySelector('mat-list'); 
     expect(list.getAttribute('role*)).toEqual('list');
    });
    


  • type="submit" 처리기
  • 에서 제출할 메서드를 호출하는 대신 양식의 버튼에 대한 속성click 사용을 선호합니다.


  • 조건에 따라 데이터를 표시해야 하는 경우 표시/숨기기 대신 활성화/비활성화를 선호합니다. 이는 사용자를 혼란스럽게 하고 UI가 이리저리 이동하는 것을 방지하는 데 도움이 됩니다.
  • 링크는 링크입니다. 버튼은 버튼입니다. div와 span은 버튼이나 링크가 아닙니다. div 및 범위는 일부 접근성 기능이 없습니다. 예를 들어 초점을 맞출 수 없고 사용 중지할 수 없습니다.
  • 아이콘만 있는 링크가 있는 경우 aria-hidden="true"를 사용하고 레이블을 추가하십시오.

  • <a href="profile" 
       aria-label="Profile">
     <i aria-hidden="true"
        classss="material-icons">
       Face
     </i>
    </a>
    


  • 이미지에는 항상 alt 속성이 있어야 하지만 비어 있을 수 있습니다. alt는 이미지가 전달하려는 내용을 설명해야 합니다.
  • 장식 이미지는 비어 있는 alt 속성을 갖거나 role="presentation" 속성을 가질 수 있습니다.
  • 경고 또는 알림에서 role="alert"를 사용하고 상태 알림에 aria-live="polite"를 사용하고 주의가 필요한 항목
  • aria-live="assertive"를 사용합니다.

    크롬 개발자 도구


  • "Audits "탭에 접근성 옵션이 있습니다
  • .
  • Chrome에는 accessibility tree , ARIA attributes 및 접근성 관련 계산 속성
  • 이 포함된 접근성 탭이 있습니다.

    앵귤러 머티리얼


  • 사용자 정의 색상이 대비를 전달하는지 확인하십시오
  • .



    연결


  • AXE
  • WAVE
  • Accessibility Insight
  • Angular theming guide
  • Angular typography guide
  • Google Fonts

  • Webaim contrast checker

  • Color palette builder
  • Theme builder
  • 좋은 웹페이지 즐겨찾기