이 페이지에서

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

소개

이 페이지에서는 Qt Quick 애플리케이션에 접근성 메타데이터를 추가하는 방법을 설명합니다. Qt Quick 애플리케이션과 그 안의 많은 QML 유형에는 이미 접근성 기능이 내장되어 있습니다. 예를 들어, Button 컨트롤에는 키보드 접근성이 있어, 탭 키를 사용하여 컨트롤 간을 이동하고 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"

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

role 은 Text 유형이 무엇을 나타내는지 표시하기 위해 Equation 로 설정됩니다. name 은 가장 중요한 속성으로, 버튼의 텍스트에 바인딩됩니다. QML 항목에 대한 추가 정보를 제공하려면 description 속성을 사용합니다. 접근성 도구가 버튼을 작동시키기 위해 호출할 수 있는 신호 핸들러 Accessible.pressAction 는 텍스트를 탭하거나 클릭했을 때와 동일한 효과를 가져야 합니다.

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

Image {
    source: "pie-chart-683.png"
    Accessible.role: Accessible.Chart
    Accessible.name: qsTr("Pie chart")
    Accessible.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 를 참조하십시오.

© 2026 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.