Yêu cầu hệ thống

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 96)

5 THỬ NGHIỆM VÀ KẾT QUẢ

2.4 Yêu cầu hệ thống

2.4.1 Xác định hướng phát trin ca ng dng

Nhưđã nĩi ở chương một để xây dựng một trình đọc màn hình việc dùng kỹ thuật Hook là một cách tiếp cận tối ưu nhất. Tuy nhiên để thực hiện điều này cần rất nhiều kiến thức sâu về hệ thống cũng như tương tác với phần cứng. Việc này địi hỏi nhiều thời gian và cơng sức. Do đĩ đề tài chọn cách tiếp cận thứ hai là dùng kết hợp thư viện Microsoft Active Accessibility, các hàm API cấp thấp và một số kỹ thuật Hook chuyên biệt để phát triển ứng dụng. Lợi ích của cách tiếp cận thứ hai là chương trình cĩ thể hoạt động trên nhiều hệ thống cấu hình khác nhau mà khơng phụ thuộc vào việc thiết lập màu và chếđộ

màn hình. Và chương trình khơng cần phải cài thêm những tập tin hay trình điều khiển đặc biệt nào khác để hoạt động.

Chương trình sẽ hỗ trợ các tính năng thơng dụng cho người dùng : Xử lý văn bản: • Đọc hết văn bản • Đọc kí tự hiện hành • Đọc kí tự kế tiếp • Đọc kí tự phía trước • Đọc từ hiện hành • Đọc từ kế tiếp • Đọc từ phía sau • Đọc văn bản đang tơ đen • Đọc câu hiện hành

Trang 97

• Đọc câu kế tiếp

• Đọc câu phía sau

• Đọc từđầu câu tới dấu nháy • Đọc từ dấu nháy tới cuối câu • Đọc dịng hiện hành • Đọc dịng kế tiếp • Đọc dịng phía trước • Đọc từđầu dịng tới dấu nháy • Đọc từ dấu nháy tới cuối dịng • Đọc từđầu văn bản tới dấu nháy • Đọc từ dấu nháy tới cuối văn bản • Đọc đoạn văn bản hiện hành • Đánh vần văn bản

Đặc biệt hỗ trợ cơ chế tiện dụng cho người dùng trong quá trình xử lý văn bản:

• Đọc kí tự vừa gõ

• Đọc kí tự vừa xĩa

• Nếu kí tự vừa gõ là khoảng trắng, tab ứng dụng sẽđọc từ phía trước

• Khi gặp ký hiệu kết thúc câu sẽ phát âm câu phía trước

• Khi dùng phím Left, Right sẽ phát âm kí tự ngay dấu nháy

• Khi dùng phím Ctrl + Left, Ctrl + Right sẽ phát âm từ ngay dấu nháy

• Khi dùng phím Up, Down sẽ phát âm dịng hiện hành.

• Khi bấm Ctrl + A sẽđọc hết văn bản.

• …..

Các chức năng tiện ích :

• Bật/tắt đọc phím trạng thái (Vd : Nút Caps Lock đang bật, Nút Insert đang ở

chếđộ ghi đè,…)

• Đọc thơng tin tồn bộ các phím trạng thái.

• Đọc đối tượng hiện hành

• Đọc tiêu đề cửa sổ hiện hành

• Đọc ngày giờ hiện hành

Trang 98

• Bật/tắt đọc khi gõ phím lệnh (Vd : Phím Space, Ctrl, Insert,….)

• Tăng tốc độ phát âm (dùng cho tiếng anh)

• Giảm tốc độ phát âm (dùng cho tiếng anh)

• Tăng âm lượng bộđọc (dùng cho tiếng anh)

• Giảm âm lượng bộđọc (dùng cho tiếng anh)

• Bật tắt đọc nội dung khi chuột di chuyển

• Đọc cấp cha của đối tượng hiện hành

• Đọc đối tượng phía trước

• Đọc đối tượng phía sau

• Đọc đối tượng đầu tiên

• Đọc đối tượng cuối cùng

• Di chuyển chuột tới đối tượng hiện hành

• Di chuyển chuột tới đối tượng điều hướng

• Đọc thanh trạng thái

• Đọc nội dung tồn cửa sổ (Vd : “Cửa sổ VNSR bạn cĩ muốn thốt khơng? Nút yes nút no”)

• Duyệt tựđộng và thơng báo nội dung (Vd :Duyệt tựđộng các đối tượng trên Desktop và đọc thơng tin)

• Trở về màn hình chính

• Thốt chương trình

2.4.2 Xây dng thư vin phát âm

Việc phát âm của ứng dụng được xây dựng tương tự như phần mềm từđiển ở PHẦN 31.2.1

2.4.3 Xây dng lp x lý thơng tin mt đối tượng

Microsoft Active Accessibility cho phép chúng ta thu nhận thơng tin một đối tượng bằng các hàm API AccessibleObjectFromPoint, AccessibleObjectFromWindow,

AccessibleObjectFromEvent. Ta cần xây dựng một lớp để lưu trữ và xử lý các thơng tin khi các hàm trên trả về giao diện IAccessible cùng một ID con. Lớp này bao gồm các thuộc tính thơng dụng như Name, Value, Location, Parent,…và các phương thức như Navigate, Select, HitTest, DoDefaultAction,…

Trang 99

2.4.4 Xây dng Hook

Để nhận biết thơng tin của đối tượng khi một sự kiện trong Windows xảy ra, ta cần thiết lập một Winevent Hook để giám sát các sự kiện và sử dụng hàm API

AccessibleObjectFromEvent. Ngồi ra ta cũng cần truy xuất thơng tin của đối tượng ngay vị trí chuột để thơng báo cho người dùng. Để thực hiện được điều này ta cần sử dụng hàm API AccessibleObjectFromPoint với tham sốđầu vào là tọa độ trên màn hình. Để lấy tọa

độ hiện tại trên màn hình ta cần cài đặt một mouse hook tồn cục để giám sát vị trí chuột tại mọi thời điểm. Do đặc điểm của phần mềm dành cho người khiếm thị, việc soạn thảo văn bản và thao tác với các tính năng của chương trình bằng bàn phím là một điều tất yếu.

Để giám sát các thao tác trên bàn phím ta cần cài đặt một keyboard hook tồn cục đểđáp

ứng lại nhu cầu của người dùng.

2.4.5 X lý văn bn

Để lấy được thơng tin văn bản của Notepad, Wordpad hay các control chuNn cĩ khả

năng hỗ trợ gõ văn bản như TextBox, Rich TextBox,… của một ứng dụng đề tài sử dụng hàm API SendMessage.

Tuy nhiên đối với các chương trình chuyên biệt khác dùng đề soạn thảo văn bản việc sử dụng hàm API SendMessage khơng thực hiện được. Để thao tác trên các chương trình này ta cần sử dụng các thư viện riêng cho từng trường hợp.Đối với Winword dùng thư viện Microsoft Word Object Library của COM để thao tác trên đối tượng DOM của Word.

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 96)