2013-07-08 2 views
8

필자는 시각 장애가있는 사용자가 Delphi에서 만든 응용 프로그램의 액세스 가능성을 개선하려고합니다. 내 응용 프로그램은 많은 사용자 지정 GUI 구성 요소를 사용합니다. 그들은 주로 TWinControl 또는 TGraphicControl에서 파생됩니다.화면 판독기에서 사용자 지정 GUI 컨트롤을 볼 수있게 만드는 방법은 무엇입니까?

NVDA으로 테스트 할 때 내 사용자 지정 구성 요소가 보이지 않는 것 같습니다. 예를 들어 NVDA는 버튼이나 폼과 같은 일반적인 Delphi VCL 컨트롤 위에 마우스를 가져 가면 컨트롤의 이름 (또는 다른 세부 정보)을 읽음으로써 응답합니다. 대조적으로 NVDA는 내 사용자 지정 컨트롤 위에 마우스를 올리면 전혀 응답하지 않습니다.

NVDA 및 기타 화면 읽기 소프트웨어에서 사용자 지정 구성 요소를 볼 수있게하려면 어떻게해야합니까?

+2

[Delphi에서 액세스 가능한 UI 구성 요소 만들기] (http://stackoverflow.com/questions/16320914/creating-accessible-u-components-in-delphi) 레미의 탁월한 답변 이 질문은 해결책을 안내 할 것입니다 –

+1

@DavidHeffernan 링크를 제공해 주셔서 감사합니다. 나는이 질문이 정확한 복제물이라고 생각하지 않는다. Remy의 응답 주소는 구현 가능한 API 중 하나 인 IAccessible을 구현합니다. – Shannon

답변

4

NVDA Design Overview 페이지에서 대답을 찾았습니다. NVDA는 많은 접근성 API를 사용하여 GUI 컨트롤에 대한 정보를 수집합니다. NVDA는 지원

(도하는 IAccessible라고도 함)

위의 API. 각 API의 장단점이 아직 무엇인지 확실하지 않습니다.

Creating Accessible UI components in Delphi은 IAccessible 구현에 대한 세부 정보를 제공합니다. (David David) 감사합니다.

+1

나는 MSAA가 UIAutomation보다 구현하기가 더 쉽다고 생각합니다. 나는 또한 구형 MSAA가 최근의 UIAutomation보다 광범위한 지원을 할 것이라고 생각한다. UIAutomation에서만 사용할 수있는 기능을 지원해야하는 경우가 아니면 MSAA를 사용하는 것이 더 나을 것입니다. –