2013-07-08 33 views
8

Delphi uygulamamın görme engelli kullanıcılara erişilebilirliğini arttırmaya çalışıyorum. Uygulamam birçok özel GUI bileşeni kullanıyor. Çoğunlukla TWinControl veya TGraphicControl'den inerler.Ekran okuyucuları için özel GUI denetimleri nasıl görünür hale getirilir?

NVDA ile test ederken özel bileşenlerim görünmez gibi görünüyor. Örneğin, NVDA, düğmeler veya formlar gibi düzenli Delphi VCL denetimleri üzerinde hareket ederken kontrolün adını (veya diğer ayrıntıları) okuyarak yanıt verecektir. Aksine, NVDA özel denetimlerimden herhangi birinde dolaşırken hiç yanıt vermiyor.

Özel bileşenlerimi NVDA'ya ve diğer ekran okuma yazılımlarına nasıl görünür yapabilirim?

+2

olası bir kopyası [Delphi'de Erişilebilir UI bileşenleri oluşturma] (http://stackoverflow.com/questions/16320914/creating-accessible-ui-components-in-delphi) Remy'nin mükemmel yanıtı Bu soru, çözüm için size yol gösterecektir –

+1

@DavidHeffernan Bağlantı için teşekkürler. Bu sorunun tam bir kopya olduğunu düşünmüyorum. Remy'nin cevap adresleri, uygulanabilecek olası API'lardan yalnızca biri olan IAccessible uygulamasını uygular. – Shannon

cevap

4

Cevabı NVDA Design Overview sayfasında bulundu. NVDA, GUI denetimleri hakkında bilgi toplamak için bir dizi erişilebilirlik API'sini kullanır. NVDA destekler:

(ayrıca IAccessible olarak da bilinir)

API'ların üstünde. Her bir API'nin artıları ve eksileri henüz kesin değil.

Creating Accessible UI components in Delphi, IAccessible uygulamasıyla ilgili ayrıntıları sağlar. (Link için teşekkürler)

+1

MSAA'nın UIAutomation'dan daha kolay uygulanacağından şüpheleniyorum. Ayrıca eski MSAA'nın daha yeni UIAutomation'dan daha geniş bir desteği olacağını düşünüyorum. Bu nedenle, yalnızca UIAutomation'da kullanılabilen işlevselliği desteklemeniz gerekmedikçe, MSAA ile daha iyi bir şekilde sunulabilirsiniz. –

İlgili konular