Windows용 포괄 소프트웨어 디자인

Windows 앱으로 발전하는 포용적 디자인에 대해 알아봅니다. 접근성을 염두에 두고 포괄 소프트웨어를 디자인하고 빌드합니다.

Microsoft에서는 디자인 원칙과 모범 사례를 발전시키고 있습니다. 이를 통해 우리의 경험이 어떻게 보고, 느끼고, 기능하고, 동작하는 지를 알게 됩니다. 우리의 관점도 향상시키고 있습니다.

이러한 새로운 디자인 철학을 포용적 디자인이라고 합니다. 처음부터 모든 사람을 염두에 두고 소프트웨어를 디자인하는 것이 골자입니다. 이러한 철학은 일부 소규모의 사용자 집단만을 위해 개발 프로세스가 끝날 때에야 접근성을 기술로 보는 것과는 대조적입니다.

"우리에게 장애란 개인의 니즈와 제공되는 서비스, 제품 또는 환경 사이의 불일치를 뜻합니다. 누구나 장애를 경험할 수 있습니다. 배제된다는 것은 일반적인 인간의 특징입니다." - 포괄 동영상에서 발췌

포괄 디자인은 모든 사용자를 위한 더 나은 제품을 만듭니다. 이는 인간의 다양성을 전방위로 고려한다는 것입니다. 오늘날 보도의 모퉁이 대부분에서 볼 수 있는 연석 컷아웃을 생각해 보세요. 분명히 휠체어를 탄 사람들이 사용할 수 있도록 한 것이었습니다. 그러나 이제는 유모차를 끄는 사람, 자전거 타는 사람, 스케이트보드 타는 사람들까지 거의 모든 사람들이 사용합니다. 심지어 보행자들도 종종 그들이 연석 컷아웃을 사용하는데, 그 자리에 있는 데다 사용했을 때의 경험이 더 좋기 때문입니다. 텔레비전 리모컨은 신체적 제약이 있는 사람을 위한 보조 기술(AT)로 간주되었습니다. 그러나 오늘날 리모컨 없는 텔레비전을 구입하는 것은 거의 불가능합니다. 신발끈을 묶는 법을 배우기 전에, 아이들은 슬립 온 또는 쉬운 고정 신발을 착용합니다. 신고 벗기 쉬운 신발은 집에 들어가기 전에 신발을 벗는 문화권에서 주로 선호됩니다. 신고 벗기 좋은 신발은 관절염이나 일시적으로 부러진 손목처럼 손을 사용하기에 어려움이 있는 사람들에게도 좋습니다.

포용적 디자인 원칙

다음 4가지 원칙을 바탕으로 Microsoft는 포용적 디자인 철학을 토대로 한 기업으로 전환하고 있습니다.

보편적으로 생각하기: 우리는 인간의 동기, 관계 및 능력과 같이 사람들을 통합하는 것에 집중합니다. 이를 통해 우리의 작업이 사회에 미칠 광범위한 영향력에 대해 생각하게 됩니다. 그 덕분에 모든 사람들이 참여할 수 있는 다양한 방법을 갖춘 경험을 만들어 냅니다.

개인적으로 만들기: 다음으로, 우리는 정서적 연결고리를 만들기 위해 스스로에게 도전합니다. 인간 간의 상호 작용을 통해 인간과 기술 간의 상호 작용이 향상될 수 있습니다. 개인의 고유한 상황을 토대로 모두를 위한 디자인으로 향상시킬 수 있습니다. 그 덕분에 한 사람만을 위해 만들어진 것처럼 느껴지는 경험을 만들어 냅니다.

심플하게 유지하기: 심플함에서 시작해 궁극적인 통합을 달성합니다. 혼란을 줄이면, 무엇을 해야 할지 명료해집니다. 깨끗하고 가벼우며 오픈된 공간으로 향하고자 합니다. 그 결과 정직하고 시대를 초월한 경험을 만들어 냅니다.

즐거움을 만들기: 유쾌한 경험은 경이로움과 새로운 발견을 불러일으킵니다. 가끔은 마법 같기도 합니다. 때로는 디테일이 답이 되기도 합니다. 템포에 맞는 환영받는 변화를 느낄 수 있는 순간을 디자인합니다. 그 결과 모멘텀과 흐름이 있는 환경이 생성됩니다.

포괄적인 디자인 사용자

보조 기술(AT) 사용자는 기본적으로 두 가지 유형으로 분류됩니다.

  1. 장애나 어려움, 특정 연령과 관련된 증상 또는 임시적인 상태(예: 팔다리가 부러져 이동에 제약)로 인해 필요한 사용자
  2. 더 편안하거나 편리한 컴퓨팅 환경을 위해 기본 설을 사용하지 않는 사용자

컴퓨터 사용자의 상당수(54 퍼센트)가 보조 기술의 일부 형태에 대해 알고 있으며, 컴퓨터 사용자의 44 %는 특정 양식은 사용 중이지만, 그 중 다수는 본인에게 도움이 되는 AT를 사용하지 않고 있습니다 (Forrester 2004).

Microsoft에서 위임하고 Forrester Research에서 시행한 2003-2004 연구 결과에 따르면 미국에서 18세와 64세 사이의 컴퓨터 사용자 중 과반수(57%)가 보조 기술을 활용할 수 있습니다. 이 사용자 대다수가 스스로를 장애가 있거나 장애가 있다고 보지 않았지만, 컴퓨터를 사용할 때 특정 작업 관련해 어려움이나 장애를 겪는다고 밝혔습니다. Forrester (2003)는 또한 다음의 수치만큼의 사용자가 특정한 어려움을 경험한다는 점을 발견했습니다. 4명 중 한 명은 시각 관련 어려움을 경험합니다. 4명 중 1명은 손목이나 손 부위의 통증을 경험합니다. 5명 중 1명은 청각 장애를 경험합니다.

영구적인 장애 외에도, 개개인이 겪은 어려움의 강도와 유형은 개인의 삶 전반에 걸쳐서 달라질 수 있습니다. 평범한 인간 같은 것은 없습니다. 우리의 능력은 항상 변화하고 있습니다. 마가렛 미드가 말했듯이, "우리는 모두 독특합니다. 모두 독특하기 때문에 우리 모두가 동일한 것입니다."

Microsoft는 컴퓨팅 환경을 개선하고 새로운 컴퓨팅 기술을 발명하기 위해 컴퓨터 과학 및 소프트웨어 엔지니어링 연구를 수행하는 데 전념하고 있습니다. 컴퓨터의 접근성을 더욱 높이고, 컴퓨터를 이전보다 쉽게 보고, 듣고, 상호 작용할 수 있게 만드는 것을 목표로 한 현재 Microsoft 연구 및 개발 프로젝트 섹션을 참조하세요.

실용적인 디자인 단계

모두 있는 경우, 이 섹션이 적합합니다. 앱을 위한 포괄적인 디자인을 구현할 때 고려해야 할 실용적인 디자인 단계를 설명합니다.

대상 그룹 설명

앱의 잠재적 사용자를 정의합니다. 서로 다른 능력과 특징을 모두 생각해 보십시오. 예를 들어 연령, 성별, 언어, 청력이 손실되었거나 청각 장애로 듣기가 어려운 사용자, 시각 장애, 인지 능력, 학습 스타일, 이동성 제한 등이 있습니다. 디자인이 개별 요구 사항을 충족하고 있나요?

특정 요구 사항을 가진 실제 사람과 대화

다양한 특성을 가진 잠재 사용자를 만나보세요. 앱을 디자인할 때 모든 요구 사항을 고려하고 있는지 확인합니다. 예를 들어, 청각 장애가 있는 사용자가 Xbox 콘솔에서 알림 메시지를 해제하고 있는 것을 Microsft에서 알게 되었습니다. 실제 청각 장애인 사용자에게 이에 대해 물어보니, 알림 메시지가 닫힌 캡션 섹션을 가리고 있다는 것을 알게 되었습니다. 그를 수정하기 위해 알림을 화면에서 약간 더 높은 부분에 보이게 했습니다. 처음에 동작을 드러낸 원격 분석 데이터에서는 명확하지 않았던 간단한 솔루션이었습니다.

현명하게 개발 프레임워크 선택

디자인 단계에서, 사용할 개발 프레임워크(예: UWP, Win32, 웹)는 제품 개발에 매우 중요합니다. 프레임워크를 고를 여유가 있다면, 프레임워크 내에서 컨트롤을 만드는 데 얼마나 노력을 많이 해야 하는지 생각해 보세요. 함께 제공되는 기본 또는 빌트인 접근성 속성은 무엇인가요? 사용자 지정해야 하는 컨트롤은 무엇입니까? 프레임워크를 선택할 때 기본적으로 "무료로" 얻을 수 있는 접근성 컨트롤의 양(즉, 이미 빌트인 컨트롤의 양)과 컨트롤 사용자 지정으로 인해 추가 개발 비용이 필요한 양을 선택합니다.

가능하면 표준 Windows 컨트롤을 사용합니다. 이러한 컨트롤은 보조 기술에 접속하는 데 필요한 기술과 함께 이미 활성화되어 있습니다.

컨트롤에 대한 논리적 계층 구조 디자인

프레임워크를 갖게 되면, 논리 계층 구조를 디자인하여 컨트롤을 매핑합니다. 앱의 논리적 계층 구조에는 컨트롤의 레이아웃 및 탭 순서가 포함됩니다. 화면 읽기 프로그램과 같은 AT(보조 기술) 프로그램이 UI를 읽는 경우 시각적 프레젠테이션만으로는 충분하지 않습니다. 사용자에게 구조적으로 적합한 프로그래밍 방식의 대안을 제공해야 합니다. 논리적 계층 구조를 통해 이 작업을 수행할 수 있습니다. 이 방법을 통해 사용자가 이해할 수 있도록 UI의 레이아웃을 연구하고 각 요소를 구조화할 수 있습니다. 논리적 계층 구조를 사용하는 때는 주로 다음과 같습니다.

  1. UI에서 요소의 논리적(읽기) 순서에 대한 프로그램 컨텍스트를 제공하기 위함
  2. UI에서 사용자 지정 컨트롤과 표준 컨트롤 간의 명확한 경계를 식별하기 위함
  3. UI의 일부가 상호 작용하는 방식을 확인하기 위함

논리적 계층 구조는 잠재적인 유용성 문제를 해결하는 좋은 방법입니다. 비교적 간단한 방식으로 UI를 구성할 수 없는 경우 유용성에 문제가 있을 수 있습니다. 간단한 대화 상자의 논리적 표현으로 인해 다이어그램 페이지가 생성되어서는 안 됩니다. 논리적 계층이 너무 깊거나 너무 넓어지는 경우. UI를 다시 디자인해야 할 수 있습니다. 자세한 내용은 접근성을 위한 엔지니어링 소프트웨어 eBook을 다운로드하세요.

적절한 시각적 UI 설정 디자인

시각적 UI를 디자인할 때 제품에 고대비 설정이 있고, 기본 시스템 글꼴 및 다듬기 옵션을 사용하며, dpi(인치당 도트 수) 화면 설정으로 올바르게 스케일링하고, 배경 대비 비율이 5:1 이상인 기본 텍스트가 있으며, 색각 결여가 있는 사용자가 쉽게 구분할 수 있는 색상 조합을 갖추었는지 확인합니다.

고대비 설정

Windows에 빌트인된 접근성 기능 중 하나인 고대비 모드는 컴퓨터 화면에서 텍스트 및 이미지의 색 대비를 높입니다. 사용자에 따라 색 대비를 높이면 눈의 피로감이 줄고 더 편하게 읽을 수 있습니다. UI를 고대비로 확인하는 경우 고대비를 사용하지 않는 사용자가 보는 화면에서도 모든 컨트롤이 표시되도록 링크와 같은 컨트롤이 시스템 색상(하드 코딩된 색이 아님)과 일관되게 코딩되었는지 확인하는 것이 좋습니다.

시스템 글꼴 설정

가독성을 보장하고 텍스트에 대한 예기치 않은 왜곡을 최소화하려면 제품이 항상 기본 시스템 글꼴을 준수하고 앤티앨리어싱 및 다듬기 옵션을 사용하는지 확인합니다. 제품에서 사용자 지정 글꼴을 사용하는 경우 사용자가 (화면 읽기 프로그램을 사용하거나 다른 글꼴 스타일을 사용하여 UI를 보는 등) UI 프레젠테이션을 사용자 지정할 때 상당한 가독성 문제와 방해가 발생할 수 있습니다.

높은 DPI 해상도

시각 장애가 있는 사용자의 경우 확장 가능한 UI를 사용하는 것이 중요합니다. 높은 DPI(인치당 도트 단위) 해상도에서 올바르게 확장되지 않는 사용자 인터페이스는 중요한 구성 요소가 다른 구성 요소와 겹치거나 다른 요소를 가려 액세스할 수 없게 될 수 있습니다.

색 대비 비율

업데이트된 ADA(Americans with Disability Act)의 섹션 508 및 기타 법률에서는 텍스트와 배경 간의 기본 색상 대비가 5:1이어야 한다고 규정하고 있습니다. 큰 텍스트(글꼴 크기 18 포인트 또는 14포인트에 볼드체 표시)의 경우 필수 기본 대비는 3:1입니다.

색 조합

약 남성의 7%(여성의 경우 1% 미만)이 여러 형태의 색맹 장애를 가지고 있습니다. 색맹 증세를 가진 사용자는 특정 색을 구별하는 데 어려움이 있기 때문에 애플리케이션에서 오직 색상만으로 상태나 의미를 전달하면 안 됩니다. 색맹 증세를 가진 사용자가 이미지를 최대한 인식할 수 있는 방식으로 아이콘, 배경 등의 장식용 이미지의 색 조합을 선택해야 합니다. 처음부터 이러한 색 권장 사항을 사용하여 디자인하는 경우, 앱은 포용성을 향한 중요한 단계를 이미 수행하고 있습니다.

요약 — 인클루시브 디자인을 위한 일곱 단계

요약하면 다음 7단계를 수행하여 소프트웨어가 포용적인지 확인합니다.

  1. 포용적 디자인이 소프트웨어의 중요한 측면인지 결정합니다. 그렇다면 실제 사용자가 어떻게 생활하고, 일하고, 플레이하며, 디자인을 안내하는 데 도움을 주는지 배우고 알아봅니다.
  2. 요구 사항에 대한 솔루션을 디자인할 때 프레임워크(표준 컨트롤)에서 제공하는 컨트롤을 최대한 많이 사용하여 불필요한 노력과 비용이 사용자 지정 컨트롤에 들지 않도록 합니다.
  3. 표준 컨트롤, 사용자 지정 컨트롤 및 키보드 포커스가 UI에 있는 위치를 확인하여 제품에 대한 논리적 계층 구조를 디자인합니다.
  4. 제품에 유용한 시스템 설정(예: 키보드 탐색, 고대비 및 높은 dpi)을 디자인합니다.
  5. 디자인을 구현할 때 Microsoft 접근성 개발자 허브 및 프레임워크의 접근성 사양을 참조 지점으로 사용합니다.
  6. 특별한 요구 사항이 있는 사용자와 함께 제품을 테스트하여 구현된 포괄적인 디자인 기술을 활용할 수 있는지 확인합니다.
  7. 완성된 제품을 제공하고 프로젝트를 수행한 후 작업할 수 있는 사용자를 위해 구현을 문서화합니다.