아티클

전자 점자의 현재와 미래 4: eBraille 상세 사양 알아보기

엔비전스 접근성 2025-03-18 11:52:50

들어가며

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

지난 <전자 점자의 현재와 미래 3>에서 전자 점자의 미래를 제시하는 대표적인 차세대 포맷인 eBraille 의 개발 배경과 전체적인 패키지 구조 등에 대해 소개했습니다. eBraille은 기본적으로 xml 구조를 채택하여 점자 셀 수가 서로 다른 다양한 점자 정보단말기에 맞추어 일관된 표현이 가능합니다. 정확히 말해 전자책의 표준 포맷인 EPUB 3을 기반으로 설계되었습니다. 또한, CSS stylesheet를 이용해 문서에서 사용되는 스타일을 점자 형식으로 번역해 일부 표현할 수도 있습니다. 다만, 문자 인코딩은 UTF-8만을 사용할 수 있습니다.

무엇보다 eBraille 패키지에 이미지가 포함되어있을 경우 그 이미지를 촉각으로 표현해 점자 사용자가 이미지를 직접 손으로 확인할 수 있습니다. 이미지 표현을 위해서는 여러 줄의 점자 쎌로 구성된 새로운 점자 정보단말기가 필요합니다. 지난 번에 소개했던 Humanware의 Monarch가 대표적인 차세대 점자 정보단말기입니다.

이번 아티클에서는 지난 eBraille 소개에서 한 걸음 더 들어가 주eBraille 패키지의 요 기술적 사양에 대해 자세히 알아보는 시간을 갖겠습니다.

>eBraille 출판 리소스(Publication resources)

eBraille은 EPUB와 마찬가지로 콘텐츠를 구성하기 위해 여러 가지 미디어 형식(MIME Type - RFC2046)을 사용합니다. 지난 글에서 언급했듯 콘텐츠 본문을 구성하는 xhtml, CSS Stylesheet, 이미지 등이 대표적인 예입니다. 이것이 모두 출판 리소스(Publication resources)입니다. 출판 리소스는 핵심 미디어 유형(Core media type)과 외부 리소스(Foreign resources)로 나뉩니다. 그리고 이러한 출판 리소스를 사용하려면 몇 가지 규칙을 지켜야합니다. 이 섹션에서는 핵심 미디어 유형과 외부 리소스의 차이, 리소스를 사용할 때 지켜야할 규칙에 대해 설명드리겠습니다.

핵심 미디어 유형

eBraille의 핵심 미디어 유형은 eBraille 판독 시스템에서 콘텐츠를 안정적으로 렌더링할 수 있도록 공식적으로 표준화된 미디어 형식과 미디어 형식에 따른 파일 확장자를 의미합니다. 즉, 이것은 콘텐츠를 불러올 때 대체 방법(fallback) 없이 바로 사용할 수 있는 미디어 유형입니다. 이 미디어 유형은 EPUB 3에 정의된 것을 대부분 따릅니다. EPUB 3 사양 문서의 <3.1.2 Supported Media Type> 섹션을 참고하십시오.

그러나 이 핵심 미디어 유형은 모두를 무조건 지원할 필요는 없습니다. 뒤에서 다룰 eBraille 판독 시스템에 따라 일부 미디어 유형은 지원하지 않을 수도 있습니다. 예를 들어 MP3 오디오는 eBraille의 핵심 미디어 유형이긴 하지만, 판독 소프트웨어에서 오디오 재생을 지원하지 않거나, 하드웨어에 오디오 재생 시스템이 없다는 것을 가정한다면 오디오를 포함할 필요는 없습니다. 핵심 미디어 유형과 콘텐츠 유형에는 다음과 같은 것들이 포함되어 있습니다.

  • Image:
    image/gif, image/jpeg, image/png, image/svg-xml
    을 사용할 수 있습니다.
  • Audio:
    audio/mpeg(MP3), audio/mp4(MPEG-Audio), audio/ogg_codecs
    =opus를 사용할 수 있습니다.
  • Video:
    Video
    는 엄밀하게 말해 핵심 미디어 유형은 아니지만, 영상 코덱을 fallback 없이 참조할 수 있다는 측면에서 핵심 미디어 유형처럼 취급할 수 있습니다. 다만, H264와 VP8 두 가지 코덱을 권장합니다. 물론 video는 명시적으로 사용해야할 코덱이 정의된 것은 아니기에 판독 시스템에 따라 더 많은 코덱을 지원하거나, 아예 지원하지 않을 수 있습니다.
  • Style:
    style/text/CSS
    를 사용할 수 있습니다. CSS 2를 공식 지원합니다.
  • Fonts:
    font/ttf(TrueType), font/otf(Opentype), font/woff(woff), font/woff2(woff2)
    를 사용할 수 있습니다. 그러나 eBraille에서는 서식 지정을 CSS Stylesheet에 의존하도록 권장합니다.
  • 기타 형식:
    application/xhtml+xml(xhtml content documents), application/x-dtbncx+xml(opf-201), application/smil+xml(Media overlays)
    를 사용할 수 있습니다.
Note:

eBraille에서는 EPUB 3과 달리 application/javascript, application/ECMAscript, text/javascript는 허용되지 않습니다. Javascript를 허용할 것인가 그리고 어떤 식으로 구현되어야 하는가에 대한 문제는 미래의 과제로 남아있습니다.

 

외부 리소스 사용

EPUB와 마찬가지로 eBraille은 기본적으로 외부 리소스의 사용을 권장하지 않습니다. 만약 외부 리소스를 사용해야 하는 상황이라면 반드시 사전에 대체할 콘텐츠를 eBraille에서 지원하는 핵심 미디어 유형으로 준비한 다음 xhtml의 자체적 fallback(intrinsic fallback)을 사용하십시오. 그러면 외부 리소스가 렌더링 되지 않더라도 대체 콘텐츠가 사용자에게 표시될 것입니다. 아래는 custom 미디어 유형에 대한 fallback을 제공해 안정적으로 사용자가 콘텐츠에 접근할 수 있도록 하는 예제입니다.

<object data="interactive-content.custom" type="application/vnd.custom-interactive">

<!-- 판독 시스템에서 custom 외부 리소스를 지원하지 않거나, 다른 이유로 콘텐츠를 불러올 수 없을 경우 사전에 준비된 이미지로 대체 -->

<img src="fallback.png" alt="대체 이미지">

</object>

이 예시에서는 xhtmlfallback 수단으로 <object>를 사용했습니다. Pdf로 작성된 이미지를 촉각으로 표현하고 싶은 경우 위와 같은 방법으로 사용할 수 있습니다.

Note:

eBraillemanifest fallback을 사용할 수 없습니다. 즉 하나의 패키지 문서의 resource 목록을 나열하는 manifest와 콘텐츠 읽기 순서를 담고 있는 spine에 외부 리소스를 넣으면 안됩니다.

Note 2:

예외적으로 기존 전자 점자 파일인 brf 또는 pdf 파일은 별도의 fallback 없이 eBraille 패키지에 포함할 수 있으며, manifest에 이 파일의 존재를 기록할 수 있습니다.

 

리소스 위치

eBraille 패키지를 만들 때 지켜야할 사항 중 하나는 리소스의 위치입니다. 하나의 eBraille 패키지 문서는 위에서 살펴보았듯이 다양한 유형의 리소스로 구성될 수 있습니다. 이러한 콘텐츠를 구성하는 리소스는 반드시 패키지의 루트 디렉토리 (Root directory) 아래에 있어야 합니다. 만약 패키지 루트 디렉토리 외부의 local 저장소에 파일로 리소스가 저장되어 있다면 그것은 사용할 수 없습니다. 예를 들어 <전자 점자의 현재와 미래>라는 제목의 eBraille 패키지가 있다면 <전자 점자의 현재와 미래.eBraille> 또는 <전자 점자의 현재와 미래> directory가 있을 수 있습니다. 여기서 해당 패키지에서 사용하는 모든 리소스는 <전자 점자의 현재와 미래> 하위에 있어야 한다는 의미입니다.

이것은 보안과 eBraille 판독 시스템이 안정적으로 콘텐츠를 렌더링할 수 있도록 담보하기 위해 필요한 규칙입니다. 부득이하게 패키지 directory 외부에 있는 리소스를 참조하려면 url을 사용해야 합니다.

 

 

eBraille의 패키지 문서 구성

지금까지 eBraille의 콘텐츠 표현 방법 및 읽기 순서를 규정하는 패키지 문서 구조에 대해 살펴보았습니다. 패키지 문서는 eBraille 판독 시스템에 있어 뼈대와 같은 역할을 하기 때문에 매우 중요합니다. 그래서 다소 자세하고 길게 이 섹션을 다루었습니다.

  • Metadata: 서지 정보와 콘텐츠 렌더링 정보가 포함됩니다.
  • Manifest: 패키지에 포함된 모든 리소스 목록이 나열되어 있습니다.
  • Spine: 패키지 콘텐츠 순서를 담고 있습니다.

패키지 요소(Package Elements) 살펴보기

MetadataManifest, Spine에 관해 살펴보기 앞서 이 세 가지 항목을 감싸고 있는 최상위 요소인 패키지 요소(Package Elements)에 대해 간략히 알아볼 필요가 있습니다. 패키지 요소에는 패키지의 고유 식별자인 EPUB 버전과 언어 등의 핵심 정보가 기록되기 때문입니다. eBraille 패키지 요소는 반드시 EPUB 3의 규칙을 따라야 합니다. 즉, version (EPUB 3에서는 “3.0”으로 고정), unique-identifier (출판물의 고유 식별자를 참조), 그리고 xml:lang (메타데이터에 사용된 언어 정보)을 설정해야 합니다. 자세한 예시는 아래와 같습니다.

예제 코드
<package xmlns="http://www.idpf.org/2007/opf"

 

version="3.0"

unique-identifier="uid"

xml:lang="ko">

<!-- 아래에 Metadata, Manifest, Spine 등 하위 요소들을 기술 . -->

</package>

 

Metadata의 구성 요소

위에서 언급했듯 Metadata 섹션에는 출판물의 서지 정보와 콘텐츠 렌더링 정보가 기록되어 있습니다. 또한, 접근성 및 점자 전용 정보를 포함합니다. 여기에는 EPUB 3의 Dublin Core 요소(dc:title, dc:creator, dc:identifier, dc:language, dc:date, dc:format)와 함께, eBraille 고유의 메타데이터(예: a11y:brailleCellType, a11y:brailleSystem, a11y:completeTranscription 등)가 명시되어 있습니다. 이 정보를 통해 eBraille 판독 시스템은 출판물의 제목, 저자, 식별자뿐 아니라, 점자 쎌의 배열이나 사용된 점자 체계와 같은 점자 전용 특성을 파악할 수 있습니다. 아래 Metadata 예제 코드를 참조하십시오.

예제 코드

<metadata>

<!-- 기본 서지 정보 (Dublin Core 요소) -->

<dc:title>전자 점자의 현재와 미래</dc:title>

<dc:creator>엔비전스</dc:creator>

<dc:identifier id="uid">urn:uuid:123e4567-e89b-12d3-a456-426614174000</dc:identifier>

<dc:language>ko-Brai-KR</dc:language>

<dc:date>2025-03-04T12:00:00+00:00</dc:date>

<dc:format>eBraille 1.0</dc:format>

 

<!-- 저작권 및 수정 정보 -->

<meta property="dcterms:dateCopyrighted">2020</meta>

<meta property="dcterms:modified">2025-03-04T12:00:00Z</meta>

 

<!-- eBraille 전용 정보 -->

<meta property="a11y:brailleCellType">6</meta>

<meta property="a11y:brailleSystem">UEB grade2</meta>

<meta property="a11y:completeTranscription">true</meta>

<meta property="a11y:producer">DAISY Consortium</meta>

<meta property="a11y:tactileGraphics">false</meta>

 

<!-- 추천 메타데이터 -->

<dc:publisher>DAISY Consortium</dc:publisher>

<dc:description>eBraille의 Metadata를 구성하는 예제입니다.</dc:description>

<dc:rights>All rights reserved.</dc:rights>

</metadata>

 

Manifest의 구성 요소

Manifest 섹션은 eBraille 패키지에 포함된 모든 핵심 미디어 유형 리소스(콘텐츠 문서, 이미지, CSS, 오디오 등)를 나열합니다. 각 리소스는 고유한 ID, 파일 경로(href), 미디어 타입(media-type) 등을 지정하며, 필요한 경우 properties 속성을 통해 추가 정보를 제공합니다. 이를 통해 판독 시스템은 모든 리소스의 위치와 성격을 정확히 파악하고, 올바른 방식으로 로드할 수 있습니다.

예제 코드

<manifest>

<!-- 내비게이션 문서: 출판물의 목차를 제공 -->

<item id="nav" href="index.html" media-type="application/xhtml+xml" properties="nav"/>

 

<!-- 콘텐츠 본문 리소스 참조 예제 -->

<item id="c01" href="content/chapter01.html" media-type="application/xhtml+xml"/>

 

<!-- 이미지 리소스: SVG 및 PDF 촉각 그래픽 -->

<item id="img01" href="images/chapter01-fig1.svg" media-type="image/svg+xml"/>

<item id="img02" href="images/chapter01-fig2.pdf" media-type="application/pdf"/>

 

<!-- CSS stylesheet -->

<item id="css01" href="styles/main.css" media-type="text/css"/>

</manifest>

 

Spine의 구성 요소

Manifest에 나열된 리소스의 기본 읽기 순서를 설정하는 Spine은, 각 항목(itemref)이 Manifest에 등록된 콘텐츠 문서를 참조하며, idref 속성으로 해당 리소스의 고유 ID를 지정합니다. 또한, linear 속성을 사용하여 콘텐츠가 순차적으로 읽혀야 하는지 여부를 설정할 수 있으며, 부가 콘텐츠(예: 부록이나 해설)는 linear="no"로 표시하여 기본 읽기 순서에서 제외할 수 있습니다. 읽기 순서의 기본 값은 순차적(linear)입니다.

예제 코드

<spine>

<!-- 순차적으로 읽어야 하는 기본 콘텐츠 문서 -->

<itemref idref="c01"/>

<itemref idref="c02"/>

 

<!-- 부가 콘텐츠(예: 해설, 부록 등)는 순차적 읽기 대상이 아님 -->

<itemref idref="c02-appendix" linear="no"/>

</spine>

 

eBraille의 본문 콘텐츠 구성

이번 섹션에서는 eBraille의 본문 콘텐츠를 구성하는 xhtml과 CSS 마크업 방법에 관해 소개하도록 하겠습니다. 여러 차례 언급해 주지하시듯 eBraille의 콘텐츠 핵심은 크게 본문 내용을 포함하면서 그 구조를 담고 있는 xhtml과 CSS로 이루어져있습니다. 여기에 이미지와 오디오 등의 콘텐츠를 삽입할 수 있습니다. 그리고 eBraille의 경우 xhtml과 CSS를 사용할 때 몇 가지 규칙이 있습니다.

Note:

핵심 미디어 유형에서 언급한 것처럼 eBraille에서 svg+XML을 사용할 수 있습니다. 그러나 Spine에는 svg를 포함하면 안됩니다. 반드시 본문을 구성하는 xhtml에서 svg를 사용하십시오.

 

문자 인코딩 자세히 알아보기

지난 글에서 eBraille의 문자 인코딩 규칙에 관해 간략히 소개해드렸습니다. eBraille은 기본적으로 UTF-8 인코딩을 사용하며 범위는 점자 패턴: U+2800 ~ U+28FF 등의 범위만을 제한적으로 사용할 수 있다고 안내했습니다. 이것은 점자로 콘텐츠를 읽을 때 불필요한 문자가 들어가 독자에게 혼란을 주는 것을 예방하기 위한 것입니다. 이번 섹션에서는 한 걸음 더 들어가 문자열 인코딩 규칙 시 사용할 수 있는 문자열 집합과 규칙을 상세히 설명하겠습니다. 사용 가능한 UTF-8 문자 범위와 마크업 규칙은 다음과 같습니다.

  • 점자 패턴 (U+2800 ~ U+28FF)
    UTF-8에서 모든 렌더링 가능한 점자 기호들이 이 범위에 포함됩니다.
  • 허용 공백 문자:
    Tab (U+0009), LF (U+000A), CR (U+000D), SPACE (U+0020)
  • 기타 특수 문자:
    NO-BREAK SPACE (U+00A0), SOFT HYPHEN (U+00AD)
Note:

짐작하셨겠지만, eBraille 콘텐츠 문서에서는 위에 명시된 문자 외의 다른 알파벳이나 기호를 본문 텍스트로 사용해서는 안 됩니다. 단, 이미지의 대체 텍스트나 표의 제목 등 부가 정보를 전달하는 속성에서는 예외적으로 일반 문자가 사용될 수 있습니다.

 

XHTML 마크업 시 고려해야할 사항

eBraille의 XHTML은 EPUB 3의 규격을 대부분 따릅니다. 그러나 몇 가지 주의사항이 있습니다.

먼저 태그 사용이 제한됩니다. eBraille 콘텐츠 문서는 점자에 최적화된 제한된 HTML 태그 집합을 사용해야 합니다. 예를 들어, 제목, 문단, 리스트, 표 등 기본적인 구조를 나타내는 태그들은 사용할 수 있지만, 스크립트나 폼 요소와 같이 상호작용을 위한 태그를 사용하면 안 됩니다.

그 다음으로 점자 읽기에 최적화된 전용 class와 role을 정의할 수 있습니다. 즉, 점자 형식을 보다 정확하게 표현하기 위해, 필요에 따라 추가적인 클래스나 역할(role) 속성을 사용합니다. 이를 통해 판독 시스템은 각 요소가 점자에서 어떤 역할을 수행해야 하는지 해석할 수 있습니다.

마지막으로 접근성 기준을 반드시 준수해야 합니다. 특히, 제목과 문단, 표, 리스트 등의 구조가 명확히 구분되어야 하며, 예를 들어 표의 경우 <th> 태그와 scope 속성, 혹은 abbr 속성을 사용하여 점자 독자가 표의 구조를 쉽게 파악할 수 있도록 해야 합니다.

예제 코드

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko">

<head>

<meta charset="utf-8" />

<title>eBraille 본문 예제</title>

</head>

<body>

<!-- 제목은 <h1> 태그와 적절한 클래스 및 역할 속성으로 지정 -->

<h1 role="doc-title" class="title">⠠⠎⠑⠕⠎ ⠠⠊⠝ ⠠⠃⠗⠁⠊⠇⠇⠑</h1>

 

<!-- 단락은 <p> 태그를 사용 -->

<p>⠠⠓⠑⠇⠇⠕ ⠠⠺⠕⠗⠇⠙! ⠠⠠⠠⠎⠊⠍⠏⠇⠑ ⠠⠉⠕⠝⠞⠑⠝⠞.</p>

 

<!-- 간단한 표의 예제: 표 헤더와 데이터 셀을 명확하게 구분 -->

<table>

<thead>

<tr>

<th scope="col" abbr="번호">⠼⠁</th>

<th scope="col" abbr="내용">⠠⠉⠕⠝⠞⠑⠝⠞</th>

</tr>

</thead>

<tbody>

<tr>

<td>⠼⠁</td>

<td>⠠⠎⠑⠕⠎</td>

</tr>

</tbody>

</table>

</body>

</html>

 

eBraille에서 CSS 사용하기

eBraille 콘텐츠는 CSS 스타일 시트를 통해 점자 형식에 맞는 레이아웃과 스타일을 적용해야 합니다. CSS로 점자 셀의 배치, 간격, 열 너비의 레이아웃 속성을 조정할 수 있으며, 이를 통해 각 점자 단말기의 특성에 맞게 콘텐츠가 올바르게 표시되도록 할 수 있습니다. eBraille에서 CSS Style을 사용할 때 다음 세 가지 규칙을 준수하십시오.

- 절대 길이 대신 폰트 상대 길이 사용:
점자 정보 단말기는 점자 셀의 크기와 간격이 하드웨어에 의해 결정되므로, CSS에서는 1ch(셀 간격)와 1em(행 간격) 같은 폰트 상대 길이를 사용하여 일관된 레이아웃을 유지해야 합니다.

- 미디어 쿼리 활용:
각 점자 단말기의 셀 수나 화면 크기에 따라 레이아웃을 동적으로 조정할 수 있도록 미디어 쿼리를 사용합니다. 이를 통해 10셀, 20셀, 32셀 등 다양한 단말기에서도 콘텐츠가 적절하게 재배치됩니다.

- 폰트 관련 속성 제한:
eBraille에서는 점자 기호가 Unicode에 의해 정의되므로, font-family, font-size, font-style 등의 속성은 점자 기호의 모양이나 크기에 영향을 주지 않도록 제한합니다. 대신 CSS는 오직 레이아웃과 배치를 조정하는 역할을 합니다.

예제 코드

/* 기본 스타일: 모든 요소에 대해 점자 형식의 기본 간격 설정 */

* {

margin: 0;

padding: 0;

box-sizing: border-box;

/* 점자 단말기의 셀 크기에 따라 상대 길이 사용 */

font-size: 1em;

}

/* 미디어 쿼리를 활용하여 점자 단말기의 셀 수에 맞춰 레이아웃 조정 */

@media (min-width: 30ch) {

body {

column-count: 2;

column-gap: 2ch;

}

}

eBraille의 기본 페이지와 내비게이션 구조

eBraille에 패키지된 콘텐츠를 독자가 효과적으로 읽고, 쉽게 탐색할 수 있도록 기본 페이지(Primary entry page) 구조와 내비게이션은 필수입니다. 예를 들어 목차는 가장 기본적이면서 문서 네비게이션에 없어서는 안될 필수 내비게이션 요소입니다. 이 섹션에서는 이러한 eBraille 패키지의 페이지 구조와 내비게이션을 위해 필요한 내용을 알아보겠습니다.

페이지 기본 구성 요소

eBraille 패키지의 기본 페이지는 독자가 콘텐츠를 처음 접할 때 가장 먼저 마주하게 되는 진입 포인트입니다. 기본 페이지는 반드시 패키지의 루트 디렉토리에 위치한 "index.html" 파일로 기록되며, EPUB 3의 내비게이션 사양 기준을 기반으로 합니다.

이 기본 페이지는 단순히 콘텐츠 전체 목록을 보여주는 역할뿐만 아니라, 판독 시스템이 패키지의 구조를 해석하여 전체 출판물을 탐색할 수 있도록 도와주는 중요한 역할을 합니다. 기본 페이지의 상세 기준은 아래와 같습니다.

  • 파일명 및 위치:
    기본 페이지의 파일 이름은 반드시 "index.html"로 해야하며, eBraille 패키지의 루트 디렉토리에 있어야 합니다.
  • 내비게이션 링크:
    기본 페이지는 EPUB 내비게이션 문서의 형식을 따르며, <link> 요소를 통해 패키지 문서(package.opf)와 연결됩니다.
  • 스크립트 사용 제한:
    기본 페이지에서는 독자에게 웹 기반 탐색 인터페이스를 제공하기 위해 일부 스크립트를 사용할 수 있으나, 이는 Spine에 포함되지 않아야 하며, 판독 시스템에서 실행되지 않도록 설계되어야 합니다.

eBraille 패키지의 탐색 내비게이션은 독자가 eBraille 패키지 콘텐츠 내의 다양한 지점으로 쉽게 이동할 수 있도록 여러 내비게이션 요소를 규정합니다. 현재까지 표준화된 내비게이션 요소 목록은 아래와 같습니다.

- 목차(Navigation Table of Contents):
<nav> 요소를 사용하여 출판물의 주요 섹션(예: 각 장, 파트 등)을 나열합니다. EPUB 3 사양에 따라 epub:type="toc"와 role="doc-toc" 속성을 지정해야 합니다.

- 페이지 목록(Page List):
페이지 리스트는 정적인 페이지 번호 정보를 제공하며, 독자가 원래 인쇄물 또는 제작자가 의도한 페이지 번호와 대응되는 위치로 빠르게 이동할 수 있도록 돕습니다. 이 경우 <nav> 요소에 epub:type="page-list"와 role="doc-pagelist" 속성을 사용합니다.

- 랜드마크(Landmarks):
랜드마크는 출판물 내의 중요한 섹션(예: 본문 시작 위치, 용어집, 색인 등)을 빠르게 탐색할 수 있도록 도와주는 내비게이션 요소입니다. <nav> 요소에 epub:type="landmarks" 속성을 사용하여 정의합니다.

예제 코드 (목차의 경우)

<nav epub:type="toc" role="doc-toc" aria-label="목차">

<h2>목차</h2>

<ol>

<li><a href="content/chapter01.html#c01">⠠⠉⠓⠁⠏⠞⠑⠗ ⠼⠁</a></li>

<li><a href="content/chapter02.html#c02">⠠⠉⠓⠁⠏⠞⠑⠗ ⠼⠃</a></li>

<!-- 추가 항목 -->

</ol>

</nav>

예제 코드 (페이지 목록의 경우)

<nav epub:type="page-list" role="doc-pagelist" aria-label="페이지 리스트">

<h2>페이지 리스트</h2>

<ol>

<li><a href="content/chapter01.html#p001" title="1">⠼⠁</a></li>

<li><a href="content/chapter01.html#p002" title="2">⠼⠃</a></li>

<!-- 추가 페이지 번호 -->

</ol>

</nav>

예제 코드 (랜드마크의 경우)

<nav epub:type="landmarks" aria-label="랜드마크">

<h2>랜드마크</h2>

<ol>

<li><a href="content/chapter01.html" epub:type="bodymatter">⠠⠃⠕⠙⠽ ⠠⠎⠞⠁⠗⠞</a></li>

<li><a href="content/glossary.html" epub:type="glossary">⠠⠛⠇⠕⠎⠎⠁⠗⠽</a></li>

<!-- 추가 랜드마크 항목 -->

</ol>

</nav>

미디어 오버레이(Media overlays)

미디어 오버레이는 eBraille 콘텐츠와 미리 녹음된 오디오를 동기화하여 독자가 점자 텍스트를 읽으면서 동시에 오디오로 내용을 들을 수 있도록 하는 기능입니다. 쉽게 말해, 미디어 오버레이는 점자 콘텐츠와 오디오 내레이션을 “짝을 맞추어” 재생함으로써, 독자가 읽는 동안 동시에 듣고 점자를 읽을 수 있도록 돕는 기술입니다. 독자는 특정 구간을 오디오 또는 점자 사이를 전환하면서 읽을 수 있습니다. 미디어 오버레이로 설정된 부분은 점자와 오디오의 위치가 동기화됩니다.

eBraille의 미디어 오버레이는 EPUB 3 사양을 따릅니다. 구체적으로, eBraille 패키지 내의 각 콘텐츠 문서에 대해, 미디어 오버레이 문서를 별도로 생성하여 해당 콘텐츠와 동기화시킵니다. 이때, 미디어 오버레이 문서는 SMIL(Synchronized Multimedia Integration Language) 형식으로 작성합니다. 주요 특징은 다음과 같습니다.

  • 동기화 유형:
    각 미디어 오버레이 문서에는 <par>(병렬 요소)와 <seq>(순차 요소)를 사용하여 텍스트와 오디오 클립이 서로 정확히 일치하도록 지정합니다. 예를 들어, 특정 점자 문단에 해당하는 오디오 구간의 시작과 종료 시점을 명시할 수 있습니다.
  • 패키지 연결:
    미디어 오버레이는 패키지 문서의 Manifest 내에서 콘텐츠 문서와 함께 지정됩니다. 콘텐츠 문서의 <item> 요소에 media-overlays 속성을 추가하여, 해당 콘텐츠에 연결된 미디어 오버레이 문서의 ID를 명시합니다.
  • 오디오 및 텍스트 정보 제공:
    미디어 오버레이 문서 내의 <par> 요소는 <text>와 <audio> 하위 요소를 포함하며, 이 두 요소는 동기화된 정보(예, 오디오 파일의 특정 클립 시작과 종료 시점, 그리고 해당 텍스트의 위치)를 제공합니다.
예제 코드

<!-- 패키지 문서의 Manifest 예제: 콘텐츠 문서와 미디어 오버레이 문서 연결 -->

<manifest>

<item id="c01" href="content/chapter01.html" media-type="application/xhtml+xml" media-overlays="c01-overlay"/>

<item id="c01-overlay" href="overlays/chapter01.smil" media-type="application/smil+xml"/>

</manifest>

<!-- SMIL로 미디어 오버레이 문서 만들기 -->

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">

<head>

<meta name="dc:title" content="Chapter 1 Media Overlay"/>

</head>

<body>

<seq>

<par>

<text src="content/chapter01.html#p1"/>

<audio src="audio/chapter01.mp3" clipBegin="00:00:10.00" clipEnd="00:00:20.00"/>

</par>

<par>

<text src="content/chapter01.html#p2"/>

<audio src="audio/chapter01.mp3" clipBegin="00:00:20.00" clipEnd="00:00:30.00"/>

</par>

<!-- 추가 동기화 구간 -->

</seq>

</body>

</smil>

Note:

위 예제에서 패키지 문서의 Manifest는 콘텐츠 문서(chapter01.html)와 그에 대응하는 미디어 오버레이 문서(chapter01.smil)를 연결합니다. 미디어 오버레이 문서에서는 <par> 요소를 사용하여 특정 텍스트 위치와 해당 오디오 클립의 재생 구간을 동기화합니다.

eBraille 판독 시스템 요구사항

마지막으로, 사용자에게 eBraille 콘텐츠를 실제로 보여주는 판독 시스템이 만족해야 하는 요구사항에 대해 알아보겠습니다. eBraille 판독 시스템은 전자 점자 콘텐츠를 올바르게 해석하고, 점자 독자에게 일관된 읽기 환경을 제공하기 위해 특별한 기준을 충족해야 합니다. 이 요구사항들은 EPUB 3 판독 시스템의 기본 원칙을 따르면서도, 점자 콘텐츠의 특수성을 고려하여 일부 기능을 제한하거나 변경할 수 있습니다.

일반적인 요구사항

  • 내부 리소스만 처리 권장:
    eBraille 판독 시스템은 패키지 내의 로컬 리소스만을 처리해야 합니다. 즉, 원격 리소스(remote resources)나 패키지 root directory 외부의 파일은 허용되지 않습니다.
  • 스크립트와 폼 요소 사용 제한:
    점자 콘텐츠는 단순히 읽기 위한 정보를 제공하는 것이 목적이므로, 스크립트나 폼 같은 동적 상호작용 요소는 지원하지 않습니다. 이를 통해 보안 위험을 줄이고, 판독 시스템의 안정성을 보장합니다.
  • Spine에 등록된 것으로 콘텐츠 제한:
    eBraille 판독 시스템은 패키지 문서 내에서 Spine에 등록된 XHTML 기반의 eBraille 콘텐츠 문서만을 읽어야 합니다. SVG와 같은 다른 미디어 형식은 본문 내에 포함되어 있더라도 Spine에서는 제외됩니다.
  • 화면 및 점자 단말기의 물리적 특성 반영:
    읽기 시스템은 CSS 스타일 시트에 설정된 폰트 상대 길이(1ch와 1em)를 점자 셀 간격과 행 간격으로 정확하게 매핑해야 하며, 이를 통해 다양한 점자 디스플레이에서 일관된 레이아웃을 제공합니다.
  • 안전성 및 보안:
    판독 시스템은 불필요한 네트워크 접근이나 외부 리소스 호출을 차단하여, 점자 독자가 안전하게 콘텐츠를 읽을 수 있도록 보안을 담보해야 합니다.

미디어 쿼리 및 렌더링 요구사항

eBraille 판독 시스템은 미디어 쿼리를 적절히 지원하여, 점자 단말기의 쎌 수나 디스플레이 특성에 따라 콘텐츠의 레이아웃이 올바르게 조정되도록 해야 합니다. 예를 들어, 특정 기기의 점자 쎌 수가 제한적이라면, CSS 미디어 쿼리를 통해 열의 수나 행 간격을 동적으로 재조정할 수 있습니다. 이러한 기능은 독자가 각기 다른 기기에서 최적의 읽기 환경을 경험할 수 있도록 돕습니다.

브라우저 기반 판독 시스템 요구사항

eBraille 판독 시스템은 전용 단말기뿐만 아니라, 웹 브라우저를 통해서도 접근이 가능해야 합니다. 브라우저 기반 판독 시스템의 경우, 기본적인 eBraille 콘텐츠 렌더링 기능을 제공하면서도, 스크립트와 네트워크 접근 등 보안 취약점을 최소화하는 방식으로 구현되어야 합니다. 이를 통해 사용자는 별도의 전용 소프트웨어 없이도 웹 브라우저를 통해 eBraille 출판물을 쉽게 열람할 수 있습니다.

글을 마치며

지금까지 2회에 거쳐 차세대 전자 점자 포맷인 eBraille에 관해 설명드리는 시간을 가졌습니다. eBraille의 핵심 사항은 대부분 소개 드렸다고 생각하지만, 분량의 문제로 미처 다루지 못한 내용이 일부 있습니다. 그러한 내용은 글의 처음에 링크한 eBraille 1.0 사양 문서를 참고해주십시오.

eBraille은 디지털 시대에 차세대 전자 점자 포맷으로써 시각장애인이 촉각을 통해 직관적으로 문서의 구조를 이해하는 것은 물론 시각적 데이터에 바로 접근할 수 있는 미래를 제시합니다. 물론 eBraille이 포함한 시각적 정보를 촉각으로 표시하기 위한 장치는 매우 제한되며 가격 또한 개인이 구매할 수 없는 수준입니다. 그러나 기반 기술의 발전을 통해 저렴하게 eBraille를 온전히 읽을 수 있는 장치가 개발된다면 시각장애인이 더 자유롭게 다양한 유형의 정보에 직관적으로 접근할 수 있게 될 것입니다.

긴 글 읽어주셔서 감사합니다. 저희는 다음 <전자 점자의 현재와 미래 5>에서 점자 사용자를 고려한 디지털 접근성이라는 주제로 다시 찾아뵙겠습니다.

 

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