Giao diện IAccessible

Một phần của tài liệu phần mềm hỗ trợ người khiếm thị học tiếng anh (Trang 105)

3 TỔNG QUAN VỀ ACTIVE ACCESSIBILITY VÀ HOOK

3.4 Giao diện IAccessible

IAccessible(Viết tắt là IA) là một giao diện chứa các thuộc tính và phương thức dùng trong trong các UI (User Interface) phổ biến như là menu ,button,…

3.4.1 Các thuc tính mơ t ni dung

Giao diện IA cung cấp các thuộc tính mơ tảđể mơ tả các thơng tin khác nhau của một đối tượng . Một số thuộc tính chứa nội dung cụ thể , một số thuộc tính khác thì chứa nội dung mơ tả của chính bản thân các UI. Các dạng thơng tin của mỗi thuộc tính khác

Trang 106

nhau phụ thuộc vào đối tượng cần lấy thơng tin. Các thuộc tính mà chúng ta cần truy xuất bao gồm : • Thuộc tính Name • Thuộc tính Role • Thuộc tính State • Thuộc tính Value • Thuộc tính Description • Thuộc tính Help • Thuộc tính HelpTopic • Thuộc tính KeyboardShortcut • Thuộc tính DefaultAction 3.4.2 Mơ t chi tiết Thuc tính Name

Thuộc tính Name là một chuỗi dùng để nhận dạng, hoặc thơng báo tên của các nhân tố cho các ứng dụng. Tất cà các đối tượng đều hỗ trợ thuộc tính Name. Thuộc tính Name nhận được thơng qua việc gọi phương thức IAccessible::get_accName.

Ví dụ : Nút Start trong Windows cĩ thuộc tính Name là “Start”.

Thuc tính Role

Thuộc tính Role mơ tả vai trị của nhân tố UI của đối tượng. Tất cả các đối tượng đều hỗ trợ thuộc tính Role. Thuộc tính Role nhận được thơng qua gọi phương thức

Accessible::get_accRole

Ví dụ : Windows cĩ Role là ROLE_SYSREM_WINDOW và control button cĩ role là ROLE_SYSTEM_PUSHBUTTON.

Trang 107

Thuộc tính State mơ tả trạng thái của đối tượng trong khoảng thời gian nhất thời. Tất cả các đối tượng đều hỗ trợ thuộc tính State.Thuộc tính State nhận được thơng qua gọi phương thức IAccessible::get_accState.

Active Accessibility cung cấp hằng số trạng thái của đối tượng, được định nghĩa trong thư viện oleacc, chúng kết nối nhận dạng trạng thái của đối tượng. Những nhà thiết kếđã tạo ra các hằng số trạng thái xác định trước. Nếu một giá trị State xác định trước

được trả về thì ta cĩ thể dùng hàm GetStateText để lấy văn bản mơ tả về giá trị State đĩ.

Thuc tính Value

Thuộc tính Value cung cấp nguyên bản thơng tin thể hiện được chứa đựng trong các

đối tượng một cách trực quan. Thuộc tính Value nhận được thơng qua việc gọi phương thức IAccessible::get_accValue.

Ví dụ : Control edit thì thuộc tính Value là văn bản mà nĩ chứa đựng. Ngược lại menu item thì thuộc tính Value là rỗng.

Thuc tính Description

Thuộc tính Description của đối tượng cung cấp nguyên bản mơ tả về hình thức trực quan của đối tượng. Phần mơ tả cĩ ý nghĩa rất quan trọng vì nĩ sẽ làm sáng tỏ rõ ràng ý nghĩa của các đối tượng mà cịn cĩ thểđược dùng trong ngữ cảnh tra cứu hoặc được dùng trong các ứng dụng khác. Thuộc tính này cĩ thể giúp người sử dụng hiểu được ý nghĩa tồn diện của các đối tượng.Thuộc tính Description nhận được thơng qua gọi phương thức IAccessible::get_accDescription

Thuộc tính Description được hỗ trợ khi sự mơ tả chưa được rõ ràng, hay là nĩ bổ

sung ý nghĩa cho các thuộc tính Name, Role, State, Value.

Ví dụ : Một button cĩ nhãn là “OK” thì khơng cần thêm thơng tin gì nữa, ngược lại khi một button chứa một hình ảnh một ngọn núi thì nĩ chưa được rõ ràng. Thuộc tính Name, Role, Help mơ tả ý nghĩa của chính đối tượng đĩ cịn thuộc tính Description thể

hiện những thơng tin bổ sung làm cho những ý nghĩa đĩ được sáng tỏ hơn. Ví dụ như thuộc tính Description trong trường hợp này là “đây là button thể hiện hình ngọn núi”.

Trang 108

Thuộc tính Help cung cấp những thơng tin nĩi cho người sử dụng biết chức năng của

đối tượng.Thuộc tính help nhận được thơng qua gọi phương thức IAccessible::getacc_Help Thuộc tính này chứa đựng thơng tin dưới dạng nổi (tương tự như tooltip) dùng để mơ tảđối tượng là gì hoặc ta sử dụng đối tượng đĩ như thế nào.

Ví dụ : Một toolbar button cĩ biểu tượng máy in thì thuộc tính Help của nĩ là “In tài liệu hiện tại”

Thơng tin của thuộc tính Help khơng phải là duy nhất bên trong giao diện người dùng.

Thuộc tính Help sẽ khơng được hỗ trợ nếu các thuộc tính khác đã cung cấp đầy đủ

thơng tin về mục đích ý nghĩa và hành động của đối tượng

Thuc tính Help Topic

Thuộc tính Help Topic lấy những thơng tin chi tiết các hàm WinHelp của

Microsoft® Win32® kết hợp với đối tượng để thể hiện thơng tin .Thuộc tính này chỉ hỗ trợ

cho một sốđối tượng.Thuộc tính HelpTopic nhận được thơng qua gọi phương thức IAccessible::get_accHelpTopic

Thuc tính KeyboardShortcut

Thuộc tính KeyboardShortcut mơ tả phím tắt hoặc khĩa liên kết với đối tượng. Thuộc tính KeyboarchShortcut nhận được thơng qua gọi phương thức

IAccessible::getacc_KeyboarchShortcut

Chuỗi trả về mơ tả một khĩa truy cập tắt (phím tắt) hoặc khĩa truy cập (giúp ta dễ

nhớ dễ truy cập) . Các kí tự của các khĩa truy cập được gạch dưới giống như các menu , menu item, các label …Chuỗi trả về phải chứa tên của khĩa cùng với một hay nhiều phím bổ sung. Chuỗi trả về phải cĩ định dạng rõ ràng để ta cĩ thể dễ dàng phân tách chúng như

là: [[phím bổ sung] + […] + tên phím].

Ví dụ : Bao gồm các phím sau : ALT+F, CTRL+ALT+4, WIN+F1, CTRL+ALT+SHIFT+BACKSPACE, hoặc đơn giản nhất là BACKSPACE.

Trang 109

Nếu đối tượng chứa cả hai Shortcut key và Access key thì thuộc tính

KeyboarchShortcut sẽ trả về access key . Access key là phím mà khi người dùng nhấn vào khi đối tượng hoặc cha của đối tượng đang giữ focus.

Ví dụ : Menu Print chứa cả hai shortcut key (Ctrl + P) và access key (P) .. Trong trường hợp này thuộc tính KeyboarchShortcut là P để phản ánh rằng người dùng phải nhấn cái gì khi menu đang nắm focus.

Thuc tính DefaultAction

Thuộc tính DefaultAction mơ tả hành động chính yếu của đối tượng đĩ. Thuộc tính DefaultAction là một từ chỉ hành động hay một cụm từ chỉ hành động.Thuộc tính

DefaultAction được trả về thơng qua gọi hàm IAccessible::get_accDefaultAction.

3.4.3 Phương thc và thuc tính Selection và Focus

Giống như nhiều nhân tố trong các ứng dụng đang vận hành của hệđiều hành Windows. Đối tượng truy cập select và nhận được focus từ bàn phím. Những thuộc tính này làm cho người dùng cĩ thể tương tác với các nhân tốứng dụng , thay đổi giá trị và cĩ thể vận dụng chúng trong ứng dụng của chúng ta.

Đối tượng focus là một đối tượng trong tồn bộ hệđiều hành , nĩ nhận được tham số đầu vào từ bàn phím. Đối tượng focus nếu khơng phải là cửa sổđang kích hoạt thì là đối tượng con của cửa sổđang kích hoạt.

Đối tượng selected thì được đánh dấu để tham gia vào một số kiểu thao tác của một nhĩm thao tác.

Ví dụ người dùng cĩ thể chọn nhiều item trong control listview, nhưng focus là chỉ

thuộc duy nhất một đối tượng trong hệđiều hành vào lúc này đĩ là những item đã được focus trong vùng chọn của các item.

Ta quyết định truy cập đối tượng focus hay hoặc những nhân tố con của nĩ thơng qua việc gọi phương thức IAccessible::accFocus. Ta quyết định truy cập đối tượng được chọn hay các đối tượng con của đối tượng được chọn qua phương thức

IAccessible::accSelection. Những đối tượng như là listview cĩ nhiều hơn một đối tượng con được chọn thì đối tượng cha phải hỗ trợ giao diện IEnumVARIANT cho phép ta liệt kê số con được chọn.

Trang 110

3.4.4 Phương thc và thuc tính Navigate ca đối tượng

Ứng dụng cĩ thểđiều hướng từđối tượng này đến đối tượng khác thơng qua phương thức IAccessible::accNavigate và IAccessible::accHitTest . Những phương thức này cho phép ta nhận được ID của các đối tượng con hoặc địa chỉ hoặc giao diện IAccessible của

đối tượng khác. Sựđiều hướng cho ta thấy các đối tượng được quan hệ với nhau như thế

nào. Đang điều hướng thì sẽ khơng thay đối selection hoặc focus của đối tượng.

Giao diện IAccessible cung cấp các thuộc tính và phương thức hỗ trợ nhiều dạng

điều hướng:

S dng IAccessible::accHitTest

Để xác định một điểm cĩ thuộc đối tượng, đối tượng con hoặc khơng ta cĩ thể gọi phương thức IAccessible::accHitTest của đối tượng cha . Nếu các đối tượng con nằm chồng lấp trên cùng một điểm , IAccessibleHitTest trả vềđối tượng con cao nhất cĩ thể

nhìn thấy được .

S dng IAccessible::accLocation

Để lấy vị trí khung của đối tượng hoặc một trong những đối tượng con ta phải gọi

IAccessible::accLocation. Phương thức này trả về tọa độ khung hình chữ nhật bao quanh

đối tượng . Nếu đối tượng khơng cĩ hình dạng giống như hình chữ nhật thì phương thức trả về khung hình chữ nhật nhỏ nhất bao quanh tất cảđối tượng.

Hình vẽ mơ tả mối quan hệ giữa miền các đối tượng khơng phải hình chữ nhật và miền hình chữ nhật.

Object Bounding Rect

Regional Object

Hit Test (passes) Hit Test (fails)

Hình 47 Mi quan h gia các min

IAccessible::accHittest thì chính xác hơn IAccessible::accLocation vì nĩ cĩ th

Trang 111

bao quanh. Sự chính xác này rất hữu ích, ví dụ khi ứng dụng đang tìm các thơng tin thơng qua việc theo dõi vị trí con trỏ chuột.

Một phần của tài liệu phần mềm hỗ trợ người khiếm thị học tiếng anh (Trang 105)