Журнал LinuxFormat - перейти на главную

LXF165-166:Accessibility:Взгляд из­нут­ри

Материал из Linuxformat
Перейти к: навигация, поиск

Accessibility: Взгляд из­нут­ри

Ми­ха­ил По­жи­да­ев ана­ли­зи­ру­ет кон­цеп­ции и пер­спек­ти­вы тех­но­ло­гий досту­па к ком­пь­ю­те­ру для сла­бо­ви­дя­щих.

(thumbnail)
Наш эксперт Ми­ха­ил По­жи­да­ев – ин­же­нер-про­грам­мист ком­па­нии «Альт Ли­нукс», кан­ди­дат тех­ни­че­ских на­ук, пре­по­да­ет в Том­ском го­су­дар­ст­вен­ном уни­вер­си­те­те. В сво­бод­ное вре­мя ув­ле­ка­ет­ся иг­рой на фор­те­пиа­но и чте­ни­ем книг.

В на­ше вре­мя пред­ста­вить се­бе пол­но­цен­ную жизнь без ком­пь­ю­те­ра прак­ти­че­­ски невоз­мож­но. И, ес­те­ст­вен­но, Accessibility, то есть об­лег­чение досту­па к ком­пь­ю­те­ру поль­зо­ва­те­лям, имею­щим фи­зи­че­­ские ог­раничения, яв­ля­ет­ся не по­следней за­бо­той так­же и опе­ра­ци­он­ной сис­те­мы GNU/Linux, о чем рас­ска­зы­ва­лось в LXF146. В ча­ст­но­сти, при­во­ди­лось опи­сание функ­ций ути­ли­ты чтения эк­ра­на Orca, пред­на­зна­чен­ной для лю­дей с про­бле­ма­ми зрения. Ни­же мы пред­ла­га­ем чи­та­те­лю бо­лее де­таль­но по­зна­ко­мить­ся с ком­понен­та­ми, ле­жа­щи­ми в осно­ве вспо­мо­га­тель­ных тех­но­ло­гий GNU/Linux, а так­же про­ана­ли­зи­ро­вать воз­мож­ное раз­ви­тие это­го на­прав­ления в бу­ду­щем.

Эк­ран­ный чтец Orca раз­ра­бо­тан для пред­став­ления окон­но­го ин­тер­фей­са Gnome в ре­че­вом ви­де. При ка­ж­дом дей­ст­вии поль­зо­ва­те­ля он оз­ву­чи­ва­ет эле­мент, на ко­то­ром оста­но­вил­ся фо­кус вво­да. Не гля­дя ис­поль­зо­вать ука­за­тель мы­ши обыч­но доста­точ­но тя­же­ло, по­это­му все ко­ман­ды пе­ре­да­ют­ся при по­мо­щи кла­виа­ту­ры. Ос­нов­ная ра­бо­та по ор­ганиза­ции доступ­ной сре­ды вы­пол­ня­ет­ся дву­мя круп­ны­ми сер­ви­са­ми, взаи­мо­дей­ст­вие ко­то­рых Orca под­дер­жи­ва­ет с уче­том па­ра­мет­ров, уста­нов­лен­ных поль­зо­ва­те­лем.

Один из этих сер­ви­сов – так на­зы­вае­мый ре­че­вой сер­вер. Он занима­ет­ся об­слу­жи­ванием ре­че­вых син­те­за­то­ров, вы­пол­ня­ет их за­пуск и ор­ганизу­ет воспро­из­ве­дение зву­ко­во­го по­то­ка. Тер­мин «сер­вер» пра­виль­но от­ра­жа­ет на­зна­чение при­ло­жения, по­сколь­ку воз­мож­но су­ще­ст­во­вание несколь­ких ис­точников ре­чи (кли­ен­тов), для ко­то­рых необ­хо­ди­мо пра­виль­но ор­ганизо­вать со­вме­ст­ную ра­бо­ту. Тем не менее, ре­че­вой сер­вер не яв­ля­ет­ся сер­ве­ром в пол­ном смыс­ле это­го сло­ва, по­то­му что кли­ен­ты не изо­ли­ро­ва­ны друг от дру­га, до­пуска­ет­ся воспро­из­ве­дение толь­ко од­но­го фраг­мен­та тек­ста в ка­ж­дый мо­мент вре­мени, и кли­ен­ты впра­ве от­ме­нять вы­полнение за­даний друг дру­га. Кро­ме Orca, ис­точника­ми ре­чи мо­гут быть раз­лич­ные сис­тем­ные опо­ве­щения, вклю­чаю­щие уве­дом­ления о под­клю­чении съем­ных но­си­те­лей ин­фор­ма­ции, ре­че­вые ча­сы и пр.

Дру­гой сер­вис, на­зы­вае­мый AT-SPI, иг­ра­ет бо­лее важ­ную роль в про­цес­се пре­достав­ления вспо­мо­га­тель­ных тех­но­ло­гий. На­звание рас­шиф­ро­вы­ва­ет­ся как Assistive Technology Service Provider Interface [Ин­тер­фейс поставщика сер­ви­са вспо­мо­га­тель­ной тех­но­ло­гии]. AT-SPI занима­ет­ся сбо­ром пол­ной ин­фор­ма­ции о поль­зо­ва­тель­ском ин­тер­фей­се при­ло­жений, вклю­чая све­дения об от­кры­тых ок­нах, рас­по­ло­жении эле­мен­тов управ­ления и дру­гих де­та­лях, по­зво­ляю­щих по­лу­чить пред­став­ление об изо­бра­жении на эк­ране. Реа­ли­за­ция AT-SPI под­ра­зу­ме­ва­ет ре­шение двух круп­ных техниче­­ских за­дач: внедрение в биб­лио­те­ки по­строения окон­ного ин­тер­фей­са ком­понен­та для по­лу­чения необ­хо­ди­мой ин­фор­ма­ции и сбор по­лу­чен­ной ин­фор­ма­ции в рам­ках од­но­го про­цес­са для по­сле­дую­щей транс­ля­ции в ре­че­вую фор­му. Для ре­шения пер­вой за­да­чи тре­бу­ет­ся под­го­то­вить до­полнения ко всем по­пу­ляр­ным окон­ным биб­лио­те­кам, а так­же ко всем при­ло­жениям, ис­поль­зую­щим соб­ст­вен­ные реа­ли­за­ции окон­ных вид­же­тов. По­сколь­ку раз­ви­тие AT-SPI ве­лось пре­иму­ще­ст­вен­но в рам­ках Gnome Accessibility Project, то пер­вой биб­лио­те­кой, по­лу­чив­шей необ­хо­ди­мую под­держ­ку, ста­ла GTK+. Со вре­менем по­доб­ные до­полнения поя­ви­лись в брау­зе­ре Firefox, офис­ном па­ке­те OpenOffice.org (а впо­след­ст­вии и в LibreOffice), в Java/Swing и, на­конец, в Qt4. Та­ким об­ра­зом, вспо­мо­га­тель­ные тех­но­ло­гии бу­дут доступ­ны в боль­шин­ст­ве при­ло­жений, по­лу­чив­ших рас­про­странение в GNU/Linux.

Для цен­тра­ли­зо­ван­ной об­ра­бот­ки по­лу­чен­ной ин­фор­ма­ции ис­поль­зу­ет­ся спе­ци­аль­ное при­ло­жение at-spi-registryd (см. схему справа), за­пускае­мое при стар­те окон­ной сис­те­мы и функ­ционирую­щее в фо­но­вом ре­жи­ме. Ос­нов­ная слож­ность в реа­ли­за­ции кон­цеп­ции AT-SPI за­клю­ча­ет­ся в том, что at-spi-registryd и ком­понен­ты, ин­тег­ри­ро­ван­ные в окон­ные биб­лио­те­ки, ис­пол­ня­ют­ся в раз­ных про­цес­сах. Об­мен ин­фор­ма­ци­ей на­пря­мую невоз­мо­жен, и при­ме­ня­ют­ся сред­ст­ва ор­ганиза­ции меж­про­цесс­но­го взаи­мо­дей­ст­вия. Пер­вая вер­сия AT-SPI ис­поль­зо­ва­ла в сво­ей ра­бо­те Corba/Bonobo, но в дальней­шем от это­го вы­бо­ра при­шлось от­ка­зать­ся, по­сколь­ку в Gnome 3 ис­поль­зо­вание Corba/Bonobo бы­ло при­зна­но уста­рев­шим, и на его за­ме­ну при­шел сер­вис D-Bus. Обыч­но при ис­поль­зо­вании D-Bus за­дей­ст­ву­ет­ся од­на из двух так на­зы­вае­мых шин: ли­бо сис­тем­ная ши­на, функ­ционирую­щая для об­ме­на ин­фор­ма­ци­ей сре­ди всех при­ло­жений ОС, ли­бо сес­си­он­ная ши­на, при по­мо­щи ко­то­рой вы­пол­ня­ет­ся взаи­мо­дей­ст­вие при­ло­жений внут­ри од­ной сес­сии поль­зо­ва­те­ля. Для ра­бо­ты AT-SPI был вы­бран тре­тий под­ход, за­клю­чаю­щий­ся в за­пуске от­дель­ной ко­пии сер­ве­ра D-Bus, пред­на­зна­чен­ной для об­слу­жи­вания взаи­мо­дей­ст­вия при­ло­жений толь­ко в рам­ках за­дач AT-SPI. Та­кой вы­бор при­зван по­вы­сить про­из­во­ди­тель­ность сис­те­мы, по­сколь­ку про­бле­мы ско­ро­сти ра­бо­ты AT-SPI очень ак­ту­аль­ны: ин­фор­ма­ции об ин­тер­фей­се при­ло­жений очень мно­го, и пе­ре­да­ча че­рез D-Bus занима­ет зна­чи­тель­ное вре­мя. В за­вер­шение опи­сания кон­цеп­ции AT-SPI за­ме­тим, что ути­ли­та ChromeVox, пред­ла­гае­мая ком­панией Google для ра­бо­ты незря­чих и сла­бо­ви­дя­щих лю­дей в брау­зе­ре Chrome, не ис­поль­зу­ет функ­ций AT-SPI, хо­тя это не ис­клю­ча­ет по­яв­ление под­держ­ки в бу­ду­щем.

(thumbnail)
По­то­ки пе­ре­да­чи вспо­мо­га­тель­ной ин­фор­ма­ции в окон­ной сис­те­ме.

Кон­цеп­ция AT-SPI, обе­щаю­щая доста­точ­но ши­ро­кие воз­мож­но­сти для ра­бо­ты незря­чих и сла­бо­ви­дя­щих лю­дей с окон­ны­ми при­ло­жения­ми, про­ду­ма­на очень тща­тель­но, но су­ще­ст­ву­ют и аль­тер­на­тив­ные под­хо­ды. На­при­мер, ин­те­рес­ный ва­ри­ант осно­ван на до­бав­лении вспо­мо­га­тель­ных функ­ций в тек­сто­вый ре­дак­тор GNU Emacs. Как из­вест­но, круг за­дач, ре­шае­мых при по­мо­щи GNU Emacs, не ог­раничи­ва­ет­ся тек­сто­вым ре­дак­то­ром. За счет мно­го­чис­лен­ных до­полнений поль­зо­ва­те­ли име­ют воз­мож­ность ра­бо­тать с элек­трон­ной по­чтой, с удоб­ным фай­ло­вым менед­же­ром, со­став­лять за­пи­си в дневнике, про­смат­ри­вать ка­лен­дарь, вес­ти раз­ра­бот­ку ПО и пр. Досту­пен уп­ро­щен­ный ва­ри­ант web-брау­зе­ра, основ­ным ог­раничением ко­то­ро­го яв­ля­ет­ся невоз­мож­ность ис­полнения Java Script. До­полнения к GNU Emacs под­го­тов­ле­ны та­ким об­ра­зом, что все ра­бо­чие объ­ек­ты пред­став­ле­ны в тек­сто­вом ви­де. Имен­но это сыг­ра­ло ре­шаю­щую роль в по­пу­ляр­но­сти под­хо­да, осно­ван­но­го на GNU Emacs.

Не­об­хо­ди­мый на­бор вспо­мо­га­тель­ных функ­ций для GNU Emacs по­став­ля­ет­ся в па­ке­те emacspeak. Ос­нов­ная за­да­ча emacspeak – вы­пол­нять ре­че­вые опо­ве­щения в от­вет на все дей­ст­вия поль­зо­ва­те­ля. При пе­ре­ме­щении кур­со­ра вверх-вниз emacspeak про­из­но­сит пол­ный текст стро­ки, в слу­чае дви­жения впра­во-вле­во – сим­вол в но­вом по­ло­жении кур­со­ра. Ра­бо­чее про­стран­ст­во мо­жет раз­би­вать­ся на несколь­ко окон, в ка­ж­дом из ко­то­рых ото­бра­жа­ет­ся неко­то­рый до­ку­мент. По­ми­мо при­ло­жений из со­ста­ва са­мой сре­ды GNU Emacs, поль­зо­ва­тель мо­жет ис­поль­зо­вать ути­ли­ты команд­ной стро­ки, за­пуск ко­то­рых вы­пол­ня­ет­ся при по­мо­щи тер­ми­на­ла, осна­щен­но­го ре­че­вым ин­тер­фей­сом. Ре­че­вой вы­вод, фор­ми­руе­мый emacspeak, пе­ре­на­прав­ля­ет­ся в ре­че­вой сер­вер, функ­ции ко­то­ро­го сов­па­да­ют с функ­ция­ми ре­че­во­го сер­ве­ра, ис­поль­зуе­мо­го для ра­бо­ты ути­ли­ты Orca, упо­мя­ну­той вы­ше.

Ос­нов­ное пре­иму­ще­ст­во ра­бо­ты в GNU Emacs за­клю­ча­ет­ся в вы­со­кой ско­ро­сти взаи­мо­дей­ст­вия с ПК незря­че­го или слабо­ви­дя­ще­го че­ло­ве­ка, ко­то­рая дости­га­ет­ся за счет от­сут­ст­вия необ­хо­ди­мо­сти на­ви­га­ции по эле­мен­там окон­но­го ин­тер­фей­са, ори­ен­ти­ро­ван­но­го из­на­чаль­но на пред­став­ление ин­фор­ма­ции в гра­фи­че­­ском ви­де и управ­ление при по­мо­щи мы­ши. Важ­ную роль в дости­жении вы­со­кой ско­ро­сти иг­ра­ют и ши­ро­кие воз­мож­но­сти на­зна­чения «го­ря­чих» кла­виш. Гар­монич­ным до­полнением к сре­де GNU Emacs в слу­чае ис­поль­зо­вания незря­чим или сла­бо­ви­дя­щим че­ло­ве­ком яв­ля­ет­ся доступ­ность та­ких па­ке­тов, как LaTex (со вхо­дя­щи­ми в него MetaPost и Beamer), Lilypond и GNUPlot. Все эти па­ке­ты объ­е­ди­ня­ет воз­мож­ность под­го­тов­ки ма­те­риа­лов в тек­сто­вом ви­де с по­сле­дую­щим экс­пор­том в PDF-файл. Об­ла­дая необ­хо­ди­мы­ми знания­ми и на­вы­ка­ми, поль­зо­ва­тель мо­жет ра­бо­тать над боль­ши­ми тек­ста­ми (книга­ми, дис­сер­та­ция­ми), нот­ны­ми пар­ти­ту­ра­ми и пре­зен­та­ция­ми. Ра­бо­та про­из­во­дит­ся незря­чим че­ло­ве­ком в основ­ном са­мо­стоя­тель­но, но по­сле­дую­щая ви­зу­аль­ная про­вер­ка оста­ет­ся необ­хо­ди­мой.

В со­об­ще­ст­ве GNU/Linux на­ко­п­ле­но мно­го опы­та ра­бо­ты при по­мо­щи ре­че­во­го ин­тер­фей­са – как с ис­поль­зо­ванием окон­ной сре­ды, так и в GNU Emacs. AT-SPI име­ет ка­че­­ст­вен­ную реа­ли­за­цию и мо­жет стать стан­дар­том вспо­мо­га­тель­ных тех­но­ло­гий для всех окон­ных ок­ру­жений, а не толь­ко для Gnome. Под­держ­ка AT-SPI об­су­ж­да­ет­ся в со­об­ще­ст­вах Xfce, KDE и да­же Tizen, но в ка­ж­дом слу­чае тре­бу­ет­ся под­го­тов­ка но­вой ути­ли­ты на за­ме­ну Orca, ко­то­рая име­ет же­ст­кие за­ви­си­мо­сти с биб­лио­те­ка­ми Gnome. Глав­ная про­бле­ма это­го на­прав­ления в том, что раз­ра­бот­чи­ки при­ло­жений неред­ко при­бе­га­ют к ис­поль­зо­ванию соб­ст­вен­ных эле­мен­тов управ­ления, за­бы­вая о необ­хо­ди­мо­сти со­вмес­ти­мо­сти со вспо­мо­га­тель­ны­ми тех­но­ло­гия­ми. При ра­бо­те с GNU Emacs то­же су­ще­ст­ву­ют труд­но­сти. Ос­нов­ная про­бле­ма за­клю­ча­ет­ся в том, что GNU Emacs из­на­чаль­но ори­ен­ти­ро­ван на опыт­но­го поль­зо­ва­те­ля, уро­вень знаний ко­то­ро­го при­бли­жа­ет­ся к уров­ню раз­ра­бот­чи­ка ПО. Поль­зо­ва­тель­ские на­строй­ки со­хра­ня­ют­ся в ви­де скрип­тов на язы­ке Lisp, а мно­гие за­да­чи тре­бу­ют под­го­тов­ки сце­на­ри­ев Bash. Си­туа­цию ослож­ня­ет невоз­мож­ность пе­ре­во­да ре­че­во­го вы­во­да на на­цио­наль­ные язы­ки, это де­ла­ет мас­со­вое рас­про­странение очень за­труднитель­ным, но при­ве­ден­ные недостат­ки не вы­те­ка­ют из са­мой кон­цеп­ции пред­став­ления ра­бо­чих объ­ек­тов в тек­сто­вом ви­де, ко­то­рая по­зво­ли­ла вы­ра­бо­тать под­ход к ра­бо­те незря­че­го или сла­бо­ви­дя­ще­го че­ло­ве­ка на ПК со ско­ро­стью, сравнимой со средней ско­ро­стью ра­бо­ты лю­дей в раз­лич­ных кол­лек­ти­вах. Дальней­шее раз­ви­тие это­го на­прав­ления да­ет на­де­ж­ду на по­яв­ление но­вых про­дук­тов, луч­ше при­спо­соб­лен­ных для ис­поль­зо­вания в рам­ках учеб­но­го или про­из­вод­ст­вен­но­го про­цес­са, чем под­хо­ды с оз­ву­чи­ванием окон­но­го ин­тер­фей­са. Присоединяйтесь! |

Персональные инструменты
купить
подписаться
Яндекс.Метрика