아티클

스크린 리더가 인식 가능한 Excel 표 만들기

2022-02-17 20:20:22

안녕하세요. 엔비전스입니다.

대부분의 시각장애인 사용자는 스크린 리더를 통해 문서를 읽게 되는데, 여기에는 행과 열로 이루어진 표 또한 포함이 됩니다. 표에 접근했을 경우 해당 표가 몇 행 몇 열에 해당하는지, 현재 셀이 몇 번째 행인지, HTML 상에서 th 마크업이 되어 있는 경우 해당 셀의 머리글이 어떤 내용인지와 같은 기본적인 정보를 제공하며 이를 이용해 스크린 리더 사용자는 표에 삽입된 데이터를 확인하는 데 도움을 받을 수 있습니다.

그러나 모든 문서에서 같은 방식으로 표를 읽을 수 있는 것은 아닙니다. 예시로 Microsoft 문서에서 사용 가능한 Excel이 그렇습니다. 엑셀은 기본적으로 제공돼 있는 각각의 셀을 활용하여 사용자가 용이하게 스프레드시트를 구성할 수 있게 만들어 둔 문서 작업 소프트웨어 프로그램입니다. 분명 Excel에도 표의 머리글을 정하는 기능은 존재합니다. 다만 이는 단순히 시각적으로만 머리글 영역을 나누어 놓은 데이터 셀에 불과하기 때문에, 아이러니하게도 스크린 리더 사용자는 대부분이 표로 이루어진 Excel에서 표의 구조를 이해하는 데 어려움이 있습니다. 각각의 셀 내용을 파악하는 데는 문제가 없으나 전체적인 구조를 파악하는 데 표 머리글 정의에 대한 부재는 상당한 불편함이 됩니다.

스크린 리더와 엑셀 기능으로 이를 완벽히 해결할 수는 없으나 기존에 정해져 있는 스크린 리더의 기능을 활용해 어느 정도 해결에 가깝게 문서를 작성하는 방식이 있습니다. 오늘은 스크린 리더 사용자가 Excel을 사용할 때, 어떠한 불편함이 있는지, 이에 대한 해결 방식을 어떻게 사용할 수 있는지 알아보겠습니다.

 

스크린 리더에서 표 읽기

예시 0

지점명

별점

찜하기

리뷰

배달비

A 지점

4.9

755

1200

2500

B 지점

3.7

437

800

2500

C 지점

5

812

1500

2500

D 지점

4.3

723

1300

2500

 

예시 1

 

A

B

C

D

E

1

예시 1

 

 

 

 

2

지점명

별점

찜하기

리뷰

배달비

3

A 지점

4.9

755

1200

2500

4

B 지점

3.7

437

800

2500

5

C 지점

5

812

1500

2500

6

D 지점

4.3

723

1300

2500

음식점 지점별 정보에 대한 내용이 기입돼 있는 간단한 표입니다.

*예시 0은 일반적으로 스크린 리더가 탐색 가능한 표의 형식입니다. 데이터 셀의 머리글이 머리글 태그로 정의되어 있어 일반적인 탐색이 가능합니다.

*예시 1은 Excel에서의 실제 보이는 표를 구성한 것으로 Excel에서와 마찬가지로 알파벳 열과 숫자행에 머리글 태그가 들어가 있습니다. 실제 데이터 머리글 정보를 스크린 리더의 일반적인 탐색으로는 인식할 수 없습니다. 실제 Excel의 표를 탐색하는 것이 아니기 때문에 Excel 문서의 탐색과는 스크린 리더의 음성이 일부 다르나 기본적인 구조는 예시와 같습니다.

*예시 1 표의 실제 데이터 머리글은 열 머리글이 A2~E2, 행 머리글이 A2~A6에 해당합니다. 표의 범위는 A2~E6입니다.

이제 해당 표를 Excel에서의 셀 좌표값을 통해 살펴보겠습니다. 현재 A2~E2, A2~A6은 각각 해당 표의 열 머리글과 행 머리글에 해당합니다. 우선 기본적으로 스크린 리더를 통해 사용자가 이런 표의 구성을 이해하려면 포커스가 간 셀의 머리글을 같이 읽어 주는 것이 가장 이상적입니다.

예를 들어 B3에는 “4.9”라는 데이터가 들어가 있습니다. 표를 인식하는 데 문제가 없는 문서(예시 0)에서라면 스크린 리더는 해당 데이터에 접근했을 때 “4.9, 별점”과 같이 열 머리글을 같이 읽어 주게 됩니다. 이후 다음 행인 B4로 이동한다면, 앞서 해당 열의 머리글이 “별점”이라는 것을 이미 읽어 주었으며, 여전히 포커스가 같은 열에 머물러 있기 때문에 이번에는 “3.7, B지점” 과같이 행 머리글을 읽어 주게 됩니다.

B5로 포커스가 이동한다면 어떨까요? 여전히 포커스가 “B지점” 행에 머물러 있기 때문에 해당 정보가 B지점에 해당함을 다시 한번 알릴 필요는 없습니다. 때문에 “5, 찜하기” 와 같이 변경된 열 머리글을 읽어 줍니다. 이렇게 데이터 셀의 머리글을 함께 읽어 줄 경우 데이터에 단위가 적혀 있지 않아도 정보를 인식하는 데 큰 문제가 없어지며, 실제로도 대부분의 문서에서는 스크린 리더가 각 셀에 해당하는 머리글을 이와 같은 구조로 읽어 주고 있습니다(예시 0의 표 탐색과 동일).

하지만 Excel은 우리가 앞서 데이터가 삽입돼 있는 영역을 “B5”로 명시한 것처럼 B열과 5행이라는 이미 정해진 열과 행 이름이 있습니다. 스크린 리더는 문서 작성자가 정의한 머리글이 아닌 Excel의 기본 좌표값을 읽어 줍니다. 사용자는 스크린 리더를 이용하여 B3의 데이터를 Excel에서 읽었을 때 “4.9 B3”이라는 정보를 듣게 됩니다. 표 작성자가 의도한 열과 행의 머리글 정보를 어느 하나 받을 수 없으며 이는 Excel에서 기존 표에 정렬을 위한 머리글 설정이 존재한다 해도 마찬가지입니다.

 

1. 열 머리글과 행 머리글을 가진 표의 이름 정의

다시 이름 정의 기능에 대한 이야기를 해 보겠습니다. 우리는 위와 같은 문제에 대해 간단히 해결해 볼 수 있습니다. 예시 1의 표를 다시 한번 참고합니다.

해당 표의 데이터 “지점명”이 삽입돼 있는 A2 셀은 열 머리글과 행 머리글 모두가 교차하는 영역입니다.

상단 리본메뉴 수식 탭에 하이라이트, 수식 탭 하위 메뉴 중 이름 정의에 하이라이트

해당 셀을 선택하고 이름 정의에 들어갑니다. (상단 리본 메뉴 “수식” 탭 or 단축키 ALT+M >M)

*스크린 리더를 통해 이름 정의에 접근할 경우 첫 포커스는 이름 편집창으로 가게 됩니다. 이 편집창 내에 이미 들어가 있는 텍스트를 스크린 리더가 곧바로 인식하지 못하는 문제가 있습니다. 키보드 방향키를 누르는 것으로 편집창 내 텍스트를 인지할 수 있습니다.

새 이름 팝업창, 이름, 지점명

기본적인 정의 이름은 해당 셀의 값인 “지점명”으로 되어 있습니다. 우리는 이 이름을 머리글 지정을 위한 값으로 바꾸어 주기만 하면 됩니다. 지정 조건은 아래와 같습니다.

 

- Title..(표 마지막 셀 좌표)

 

예를 들어 예제 표의 전체 범위는 A2~E6입니다. 표의 마지막 셀은 오른쪽 하단에 있는 E6에 해당합니다. 이 정보를 기준으로 다음에 들어갈 이름은 아래와 같습니다.

새 이름 팝업창 이름, Title..E6

표의 범위를 정해 줄 수 있는 마지막 셀 좌표값이 들어가지 않으면 스크린 리더가 정상적으로 표의 범위를 인식할 수 없습니다.

해당 조건을 반드시 지켜 주는 한에서 Title의 오른쪽에는 사용자가 원하는 영역 이름을 지정하여 넣어 줄 수도 있습니다.

새 이름 팝업창, 이름, TitleNvisons..E6

이 과정을 완료한 표를 스크린 리더를 통해 읽는다면, 작성자가 의도한 열과 행의 머리글을 셀 데이터와 함께 읽어 주게 됩니다. 다만 Excel에서 이미 지정돼 있는 알파벳 열과 숫자 행 역시 머리글에 해당하므로 해당 영역 또한 같이 읽어 줍니다

예시 - 4.9 별점, B3

Title..(셀 좌표값)은 늘 표의 머리글에 해당하는 영역 첫 셀의 이름 정의에 들어갑니다. 이는 열과 행 머리글이 동시에 존재하는 표에서 사용 가능한 정의 값입니다. 열과 행 둘 중 하나에만 머리글이 존재하는 경우 다른 이름을 통해 정의할 수 있습니다.

 

(1) 열 머리글만 있는 경우

예시 2

 

A

B

C

D

E

8

예시 2

 

 

 

 

9

좋아요

슬퍼요

기뻐요

놀라워요

최고예요

10

13

3

5

4

9

SNS 게시글에 달린 표정 개수를 정리한 간단한 표입니다.

해당 표에서 머리글은 A9~E9에 해당합니다.

열 머리글의 첫 셀인 A9(좋아요)에 이름을 정의합니다. 조건은 다음과 같습니다.

- ColumnTitle..(표 마지막 셀 좌표)

예시 - ColumnTitle..E.10

 

(2) 행 머리글만 있는 경우

예시 3

 

A

B

13

예시 3

 

14

좋아요

13

15

슬퍼요

3

16

기뻐요

5

17

놀라워요

4

18

최고예요

9

해당 표에서 머리글은 A14~A18에 해당합니다.

행 머리글의 첫 셀인 A14(좋아요)에 이름을 정의합니다. 조건은 다음과 같습니다.

- RowTitle..(표 마지막 셀 좌표)

예시 - RowTitle..B.18

 

Excel에서의 예시

그 외 고려할 수 있는 사항

앞선 방식들과 같이 접근성을 높이는 방법을 고려하여 표를 구조한다 하더라도, 지금으로써는 스크린 리더를 통한 정확한 표 탐색에 어느 정도 한계점이 존재합니다.

병합한 셀이 존재하거나 머리글 안에 또 다른 머리글이 존재하는 복잡한 표는 스크린 리더를 통해 이를 파악하는 데 어려움이 있습니다. 사용자가 인지할 수 있는 표를 만들고자 한다면 시각적인 인지만을 고려하지 않고 복잡한 표를 단순화하여 예시와 같은 형식의 간단한 표로 데이터를 정리하는 일이 필요합니다.

또한 Excel 표 내에 데이터가 비어 있는 셀이 존재할 경우 역시 스크린 리더 사용자는 해당 셀에서 표가 끝난 걸로 인식하는 등 정확한 구조 파악이 어렵습니다. 이를 위해 빈 셀의 데이터 값을 0으로 삽입해 주시거나 “데이터 없음” 같은 텍스트를 삽입해 주시는 방법이 존재합니다.

위 표에서 “예시 1” 텍스트가 들어가 있는 A1에는 대체로 해당 표의 설명이 담긴 표 제목이 들어갑니다. 이 영역에는 시각적으로도 확인 가능한 제목을 제공하여 스크린 리더 사용자 역시 예외 없이 정보를 인식할 수 있도록 구조되는 것이 좋습니다. 그러나 눈에 띄는 텍스트 제공을 원하지 않는다면 텍스트에는 표의 바탕색과 일치하는 색상 서식을 넣어 해당 정보는 스크린 리더를 통한 접근만이 가능하도록 하는 방법이 존재합니다. 이는 앞서 빈 셀에 “데이터 없음”과 같은 정보를 제공할 때에도 용이합니다.

 

오늘은 Excel에서 적용 가능한 접근성에 대해 얘기해 보았습니다. 스프레드시트를 구상하는 작성자가 위와 같은 방식들을 활용하여 문서를 작성할 경우 해당 문서는 더 폭넓게 사용자를 대상할 수 있을 것입니다. 이로 인해 스크린 리더 사용자는 해당 데이터를 이해하는 데 훨씬 적은 시간을 소요할 수 있으며 이를 또 다른 데이터를 습득하는 기반으로 활용할 수 있습니다.

문서화 소통이 대다수 이루어지는 요즘, 이와 관련된 접근성 이슈들을 기존의 기능을 이용해 완만히 해결할 수 있다면 관련 사항 준수에 대한 부담을 줄이고 사용자 접근성을 높이는 데 좋은 시발점이 될 수 있을 거라 생각합니다. 읽어 주셔서 감사합니다.

댓글 0
댓글을 작성하려면 해주세요.