Qt Quick 애플리케이션의 접근성

소개

이 페이지에서는 Qt Quick 애플리케이션에 접근성 메타데이터를 추가하는 방법에 대해 설명합니다. Qt Quick 애플리케이션과 많은 QML 유형에는 이미 접근성 기능이 내장되어 있습니다. 예를 들어 버튼 컨트롤에는 키보드 접근성 기능이 있어 컨트롤 사이를 탭하고 Return 또는 Enter 키를 사용하여 활성화할 수 있습니다. 따라서 기존 컨트롤을 사용하면 Qt Quick 애플리케이션의 접근성을 높이는 데 이미 좋은 출발을 한 것입니다. 그러나 경우에 따라 QML 항목의 작업을 명확히 해야 할 수도 있습니다.

웹 애플리케이션을 접근 가능하게 만드는 것과 유사하게 UI 요소(이 경우 QML 항목)에 속성을 할당합니다. 이러한 속성은 메타데이터를 접근성 도구에 노출하여 신중하게 선택한 고대비 색상 테마 및 기타 시각적 단서와 함께 사용자가 Qt Quick 애플리케이션과 상호 작용하는 데 도움을 줍니다.

일반적으로 접근성 도구는 세 가지 범주의 메타데이터에 관심을 갖습니다:

  • 속성: 접근성 클라이언트는 접근 가능한 개체에 대한 메타데이터를 읽습니다. 경우에 따라 접근성 클라이언트는 줄 편집의 텍스트와 같은 이러한 속성을 수정할 수도 있습니다.
  • 동작: 동작: 접근성 클라이언트는 버튼 누르기 등의 동작을 호출합니다.
  • 관계 및 탐색: 접근성 클라이언트는 개체 간의 관계를 사용하여 한 접근 가능한 개체에서 다른 개체로 이동합니다.

Qt Quick 애플리케이션의 경우 알아야 할 가장 중요한 유형은 QML 항목에 접근성 메타데이터를 추가하는 Accessible QML 유형입니다.

QML 항목에 접근성 메타데이터 추가하기

Qt에서 제공하는 기존 유형이나 C++에서 정의한 사용자 정의 유형에 접근성 메타데이터를 QML 항목에 추가하려면 Accessible QML 유형을 사용합니다. Accessible QML 타입의 가장 중요한 속성은 name, description, role 입니다.

다음은 수학 방정식을 나타내는 Text 유형에 접근성 메타데이터를 추가하는 예제입니다:

Text {
    id: myMathEquation
    text: "y = 8x - 9"
    font.family: "Helvetica"

    Accessibility.role: Accessible.Equation
    Accessibility.name: myMathEquation.text
    Accessibility.description: qsTr("Linear equation")
    Accessible.onPressAction: {
        // Highlight the x variable
        ...
    }
}

roleEquation 으로 설정되어 Text 유형이 나타내는 내용을 나타냅니다. name 은 버튼의 텍스트에 바인딩되는 가장 중요한 속성입니다. QML 항목에 대한 추가 정보를 제공하려면 description 속성을 사용합니다. 접근성 도구에서 버튼을 트리거하기 위해 호출할 수 있는 신호 처리기 Accessible.pressAction 는 텍스트를 탭하거나 클릭하는 것과 동일한 효과를 가져야 합니다.

텍스트 콘텐츠는 본질적으로 접근이 가능하지만 멀티미디어 콘텐츠는 그렇지 않습니다. 따라서 이미지, 동영상, 오디오 등의 멀티미디어 콘텐츠에 필요한 접근성 메타데이터를 제공하는 것이 중요합니다. 다음은 원형 차트를 나타내는 이미지에 접근성 메타데이터를 제공하는 예입니다:

Image {
    source: "pie-chart-683.png"
    Accessibility.role: Accessible.Chart
    Accessibility.name: qsTr("Pie chart")
    Accessibility.description: qsTr("Pie chart that shows the distribution
    of sales from three store locations: Durban representing 60 percent,
    Johannesburg 20 percent, and Cape Town 20 percent")
    Accessible.onPressAction: {
        // Expand the image
        ...
    }
}

자세한 내용은 QML 항목에 추가할 수 있는 속성 목록은 Accessible 을 참조하세요.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.