보다 접근하기 쉬운 github cli 구축

보다 접근하기 쉬운 github cli 구축

Github에서는 능력이나 도구 세트에 관계없이 모든 개발자가 도구에 진정으로 액세스 할 수 있도록 노력하고 있습니다. CLI (Command Line Interface)는 개발자 경험의 중요한 부분이며 Github CLI는 Github의 힘을 터미널로 가져 오는 제품입니다.

접근성과 관련하여 터미널은 웹 브라우저 또는 그래픽 사용자 인터페이스와 근본적으로 웹 자체를 선행하는 혈통과 다릅니다. WCAG (Web Content Accessibility Guidelines)와 같은 표준은 웹 및 그래픽 응용 프로그램에 액세스 할 수있는 명확한 경로를 제공하지만 터미널 및 CLI에 대한 동등한 포괄적 인 표준은 없습니다. W3C는 비 WEB 소프트웨어에 대한 고급 지침을 제공하지만 구체적인 기술을 처방하지 못하면 해석과 혁신에 훨씬 개방적입니다.

이 격차는 우리에게 터미널에서 접근성이 어떤 모습인지에 대해 창의적이고 의도적으로 생각하도록 도전했습니다. 우리의 최근 공개 미리보기는 화면 독자에 의존하는 사용자, 배경과 텍스트 사이에 높은 대비가 필요한 사용자, 사용자 정의 가능한 색상 옵션이 필요한 사용자의 요구를 해결하는 데 중점을 둡니다. 우리의 작업은 터미널과 상호 작용하는 방법에 관계없이 Github Cli를 모두에게 더 포괄적으로 만들기위한 것입니다. 달리다 gh a11y Github CLI의 최신 버전에서 이러한 기능을 활성화하거나 설계 및 구현의 경로에 대해 배우십시오.

터미널 환경 이해

텍스트 기반 및 명령 줄 애플리케이션은 그래픽 또는 웹 응용 프로그램과 근본적으로 다릅니다. 웹 페이지에서 스크린 리더와 같은 보조 기술은 문서 객체 모델 (DOM)을 사용하여 페이지의 구조와 컨텍스트를 추론합니다. 웹 페이지는 DOM의 구조가 페이지의 시각적 설계에 영향을 미치지 않고 이러한 기술에 친숙하도록 설계 될 수 있습니다. 대조적으로, CLI의 기본 출력은 숨겨진 마크 업이없는 일반 텍스트입니다. 터미널 에뮬레이터는 텍스트 앱의 “사용자 에이전트”역할을하며 서버 응용 프로그램의 지시에 따라 문자를 렌더링합니다. 보조 기술은이 문자 매트릭스에 액세스하고 레이아웃을 분석하며 구조를 추론하려고합니다. WCAG2ICT 안내서에 따르면,이 공간의 접근성은 모든 텍스트 출력을 보조 기술에 사용할 수있게하고, 명시 적 마크 업이없는 경우에도 프로그래밍 방식으로 구조 정보가 전달되는 것을 의미합니다.

맹인, 저비전 및 컬러 블라인드 사용자에 대한 Github CLI의 유용성을 향상시키기 위해 우리는 많은 지침으로 풍경을 탐색하지만 접근 가능한 경험을 구현하기위한 구체적인 기술은 거의 없습니다. 우리는 보조 기술이 터미널과 어떻게 상호 작용하는지를 연구했습니다. 스크린 리더가 출력을 검토하는 방법, 색상 및 대비를 사용자 정의 할 수있는 방법 및 일반 텍스트에서 구조 신호를 추론 할 수있는 방법을 연구했습니다. 우리의 최근 공개 미리보기에는 이러한 공간의 다양한 사용 사례에 대한 탐색이 포함되어 있습니다.

스크린 리더의 프롬프트와 진행 상황을 다시 생각합니다

명령 줄 애플리케이션으로서의 Github CLI의 강점 중 하나는 풍부한 프롬프트 경험이며,이를 통해 사용자에게 명령 옵션을 입력하기위한 대화식 인터페이스를 제공합니다. 그러나이 풍부한 대화식 경험은 음성 합성 스크린 리더에게 장애물을 제기합니다. 비 널리 퍼진 시각적 신호와 시각적 또는 기타 효과를위한 지속적인 화면 리 그리프의 사용은 음성으로 올바르게 해석하기가 까다로울 수 있습니다.

혼란을 줄이고 블라인드 및 저 비전 사용자가 자신을 자신있게 질문에 답하고 선택을 탐색 할 수 있도록하기 위해, 우리는 Speech Synthesis Screen Reader가 사용자에게 프롬프트를 정확하게 전달할 수있는 프롬프트 경험을 소개합니다. 우리의 새로운 프롬프터는 Charm의 오픈 소스를 사용하여 구축되었습니다 charmbracelet/huh 프롬프트 라이브러리.

시각적 효과를 위해 터미널이 다시 그려진 또 다른 사용 사례는 진행률 표시 줄을 표시 할 때입니다. 우리의 기존 구현은 화면을 다시 그리기하여 만들어진 “스피너”를 사용하여 다른 점자 문자 (예, 아이러니에 감사합니다)를 표시하여 사용자에게 명령이 실행되고 있음을 표시합니다. Speech Synthesis Screen Reader는 이것을 잘 처리하지 않습니다.

이는 정적 텍스트 진행률 표시기로 대체되었습니다 (가능한 경우 수행되는 조치와 관련된 메시지와 관련하여 일반적인 “Working…”메시지로 돌아갑니다). 우리는 상황 텍스트를 더욱 향상시킬 수있는 다른 영역을 식별하기 위해 노력하고 있습니다.

색상, 대비 및 사용자 정의

색상은 터미널의 장식 이상입니다. 정보를 강조, 신호 오류 및 안내 워크 플로우를 강조하는 데 중요한 도구입니다. 그러나 색상도 장벽이 될 수 있습니다. 터미널 배경의 색상과 표시된 텍스트가 너무 낮 으면 일부 사용자가 표시된 정보를 분별하는 데 어려움이 있습니다. 웹 브라우저와 달리 터미널의 배경색은 애플리케이션에 의해 설정되지 않습니다. 이 작업은 사용자의 터미널 에뮬레이터에 의해 처리됩니다. 대비를 유지하려면 명령 줄 애플리케이션 이이 변수를 고려하는 것이 중요합니다. Markdown 렌더링에 사용되는 레거시 색상 팔레트는 터미널의 배경색을 고려하지 않았으므로 경우에 따라 대비가 낮습니다.

레거시 마크 다운 팔레트의 스크린 샷.

색상 자체도 중요합니다. 다른 터미널 환경에는 색상 기능이 다양합니다 (일부 4 비트, 일부 8 비트, 일부 24 비트 등). 기능에 관계없이 터미널을 사용하면 사용자가 색상 환경 설정을 사용자 정의하여 다양한 색조가 표시되는 방식을 선택할 수 있습니다. 그러나 대부분의 터미널은 제한된 서브 세트의 색상을 변경하는 것을 지원합니다. 즉, ANSI 4 비트 컬러 테이블의 16 가지 색상. Github CLI는 컬러 팔레트를 4 비트 색상으로 정렬하기 위해 광범위한 노력을 기울여서 사용자가 터미널 환경 설정을 사용하여 경험을 완전히 사용자 정의 할 수 있습니다. 우리는 사용할 4 비트 색상을 결정할 때 프라이머가 개척 한 접근성 기초 위에 구축했습니다.

개선 된 Markdown 팔레트를 보여주는 스크린 샷.

우리의 개선 사항은 스크린 리더가 필요한 맹인 사용자, 대비가 필요한 저용량 사용자, 사용자 정의 가능한 색상 옵션이 필요한 색맹 사용자에 이르기까지 광범위한 개발자 요구를 지원하는 것을 목표로합니다. 그러나이 공개 미리보기는 모든 개발자가 Github CLI를 사용할 수 있도록 팀의 약속의 끝을 표시하지 않습니다. 우리는 확장자가 Core CLI에 대한 동일한 접근성 개선 사항을 더 쉽게 구현할 수 있도록하려고합니다. 이를 통해 사용자는 모든 GitHub CLI 명령, 공식 또는 지역 사회 관리에 걸쳐 응집력있는 경험을 할 수 있으므로 기본적으로 더 많은 워크 플로에 액세스 할 수 있습니다. 우리는 또한 화면 리더가보다 쉽게 ​​읽거나 해석 할 수 있도록 명령으로 테이블 출력의 형식을 사용자 정의하는 경험을 조사합니다. 접근성 여행을 계속하게되어 기쁩니다.

우리는 Charm의 친구들과 Github 접근성 팀의 동료들과 협력하지 않고는 지금까지 올 수 없었습니다.

피드백 요청

우리는 Github Cli를 모든 개발자를위한 경험으로 만들기 위해 우리를 도와달라고 초대합니다.

  • 시도해보십시오: Github CLI를 v2.72.0으로 업데이트하고 실행하십시오 gh a11y 터미널에서 이러한 새로운 액세스 가능한 기능을 활성화하는 것에 대해 자세히 알아보십시오.
  • 경험을 공유하십시오: Github CLI 접근성 토론에 참여하여 피드백 또는 제안을 제공하십시오.
  • 우리와 연결하십시오: 접근성 페르소나와 관련된 경험이 있다면 접근성 팀에 연락하거나 토론 패널에 참여하십시오.

기대합니다

명령 줄에 대한 접근성 표준을 조정하는 것은 어려운 일이며 기회입니다. 우리는 접근 방식을 공유하고, 지역 사회로부터 배우고, 액세스 가능한 CLI 도구에 대한 새로운 표준을 설정하는 데 도움이됩니다.

보다 접근 가능한 github를 만들어 주셔서 감사합니다.

모든 개발자를 위해 Github를 집으로 만들도록 도와주고 싶습니까? Github의 접근성 노력에 대해 자세히 알아보십시오.

작성자가 작성했습니다

라이언 헤치트

앤드류 펠러

Github Sr. 소프트웨어 엔지니어

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다