понеделник, 20 юли 2015 г.

Малко разяснения относно програми като JAWS и функцията за контрол на потребителските акаунти (UAC) в Windows

Тук ще си позволя да направя някои разяснения относно JAWS, връщаната понякога от него грешка за върнатата от сървъра препратка и работата на екранните четци (и на JAWS в частност) в така наречените "екрани за сигурност" (включващи и екраните на UAC ("User Account Control" - "Контрол на потребителските акаунти")).

Да започнем от това, че идеята на функцията за контрол на потребителските акаунти е да защити потребителската машина от зловреден софтуер, който желае да се изпълни и да направи промени по системата, без знанието и/или желанието на потребителя.

Една от мерките, които UAC предприема, с цел защита на системата, е да блокира възможността за запис в някои служебни директории и поддиректории на операционната система, включително тази на Windows, тези в които се инсталират програмите ("Program Files" и "Program Files (x86)"), и така нататък. Поради тази причина, някои по-стари програми имат проблеми със запомнянето на своите настройки, просто защото по подразбиране са настроени да ги записват в инсталационната си директория (една от гореспоменатите), която в случая е с права само за четене за самата програма. Това засяга и речевият синтезатор "SpeechLab" (гласа "Гергана").

Друга предприета мярка от UAC е проверка на електронния подпис (сертификата) на дадено приложение. Само подписани приложения имат достъп до някои от функциите на операционната система. Такива приложения са и екранните четци, които имат нужда от тези права за достъп до системните ресурси, за да предоставят на своите потребители нужната им информация. Това включва възможността за стартиране с операционната система, възможността за работа в екраните на UAC, и така нататък. По подразбиране разбира се, екранните четци са подписани с валиден електронен подпис и съответно имат правото да достъпват тази нужна им информация. Когато обаче подписаният файл на съответната програма бъде променен и не бъде повторно подписан от разработчика на приложението с неговия електронен подпис, наличният в програмата електронен подпис става невалиден и даденото приложение вече спира да има права за достъп до нужната му системна информация. Видоизменянето на даденото приложение (примерно - екранния четец) от трети страни се налага примерно в случаите, когато се налага да се премахне защитата му против нелегално ползване (така наречената процедура по "кракване" на приложението). Това разбира се е незаконно, но е факт че масово се прави, включително и за платените екранни четци като JAWS for Windows.

От гореописаното става ясно, че поради невалиден електронен подпис, кракнатата версия на JAWS по подразбиране няма пълни права за достъп до системните ресурси. И поради липсващите права за достъп, JAWS спира да работи адекватно: не може да се стартира заедно с операционната система, не може да работи в екраните на UAC, и така нататък. Точно при такива обстоятелства - действащ на системата UAC и кракната версия на JAWS - излиза съобщението за грешка за върната от сървъра препратка (или нещо такова).

Под Windows 7 има две решения на този проблем: пълно изключване на UAC защитата от контролния панел (по принцип не го препоръчвам) или задаване в свойствата на главния изпълним файл (или пряк път) на JAWS (файла "jfw.exe") да се стартира с администраторски права. Второто решение обаче не помага за невъзможността JAWS да се стартира автоматично заедно с Windows, ако не ме лъже паметта. Първото решение пък е риск за сигурността, тъй като при спрян UAC всяко приложение има пълни права за достъп до системата, ако не греша (а това не е добре).

Под Windows 8 и по-нови е още по-сложно. Там UAC не може да се спре нацяло, дори да зададем съответния плъзгач в настройките за UAC в контролния панел на най-ниската му стойност (0%). Можем нацяло да спрем UAC от регистрите, но в този случай някои функции на операционната система (включително и така наречените "универсални"/"модерни" приложения) спират да работят адекватно. Решението със стартиране на JAWS с администраторски права работи, но пак си ги има описаните в предходния абзац ограничения.

И накрая искам да уточня, че с горенаписаното по абсолютно никакъв начин не желая да подстрекавам към нелегалното ползване на софтуер (в случая - JAWS). Даже напротив - горещо препоръчвам да се ползва само лицензиран софтуер, когато това е възможно. А ако може да се ползват и безплатни алтернативи - още по-добре. В сферата на екранните четци, такова безплатно (че и с отворен код) решение е NVDA.

Това е. И ви благодаря за отделеното внимание да прочетете горенаписаното, като се надявам и да ви е било полезно.

вторник, 14 юли 2015 г.

Бегъл тест на достъпността на LibreOffice за Windows

Днес, макар и за кратко, реших да тествам с NVDA (безплатен и с отворен код екранен четец за Windows) безплатната и с отворен код алтернатива на Microsoft Office, наречена LibreOffice. И ето какви са ми наблюденията и впечатленията. Тестваната версия на LibreOffice е 4.4.4 (текущата стабилна) на български. Версията на NVDA е най-новият тестов ("next") снапшот. Операционната система е 64-битов Windows 8.1 на български.

Приятно впечатление ми направи факта, че режимът за достъпност се задейства автоматично, щом бъде открит стартиран екранен четец (в моя случай - NVDA). Преди време не беше така и се налагаше с помощта на разни врътки да се задейства режима за достъпност. Една от тези врътки беше помощ от зрящ човек, каквато помощ невинаги е на разположение.

Нямах инсталирани JAVA и Java Access Bridge, но това не попречи на инсталацията и работата на LibreOffice. Явно този офис пакет вече не се нуждае от тези компоненти, за да е достъпен. Това е добре, защото аз лично хич не обичам JAVA.

Като цяло, интерфейсът на програмата е доста достъпен. NVDA чете не само етикета и съдържанието на дадена фокусирана контрола, но и помощната информация за нея, ако такава е налична. Тази помощна информация за зрящите се появява под формата на изскачащи под курсора на мишката подсказки, когато курсора посочи дадената контрола.

Неприятно (или по-скоро - досадно) впечатление е, че NVDA чете твърде много излишна информация при фокусирането на дадена контрола в прозореца с настройките на LibreOffice, при обхождането им с TAB. Това бави работата в този прозорец. Дано поведението на екранния четец да не е същото и в останалите прозорци на LibreOffice, но имам подозрение че и там ще е така. Това успя да изнерви дори и мен, а аз съм свикнал с четенето/слушането на по принцип излишна информация при работа с програми и интернет страници.

Друг проблем в прозореца с настройките (а може би и не само там) е с четенето на елементите от многоколонни списъци в списъчни кутии. NVDA чете съдържанието само от първата колона на всеки избран от списъка елемент. За да се прочете съдържанието и на останалите колони за даден елемент, трябва с обектното навигиране да се влезе в йерархията на обекта (елемента) и от там нататък колоните (клетките) с информация да се обходят с командите за отиване до предишен и следващ обект от същото ниво. Опасявам се, че с това неопитните потребители няма да се справят - за тях е трудно да работят с обектното навигиране в NVDA.

Имах проблеми и в LibreOffice Writer конкретно. При четенето на RTF документ от няколко страници, NVDA имаше проблеми с четенето на текста в края на текущата и началото на следващата страница, при преминаване от една страница към друга. Вместо да прочете текущия ред, NVDA издаваше сигнала си за грешка. И май не съобщаваше в тези случай номера на страницата, към която се преминаваше (но за това не съм на 100% сигурен - не му обърнах нужното внимание).

Поддръжката за докладване на форматирането на документа от страна на NVDA в LibreOffice Writer е по-слаба, отколкото е за Microsoft Office Word. Не се докладват промените във форматирането на текста при задействането им (удебеляване, подчертаване, курсив). Поне за удебеляването със сигурност го тествах - при натискането на Control+B върху избран текст, текстът бе удебелен, но NVDA не го докладва. Знам че това бе допълнително направено да се съобщава за Word - не си е вградено по подразбиране, но определено помага при редактирането и оформянето на документи. Не го тествах лично, но ми бе докладвано от друг потребител, че не бива докладвано и подравняването, макар че опцията за целта е включена в настройките на NVDA. И с NVDA+F не бивало докладвано подравняването. Като ми се докладваше форматирането с NVDA+F, ми бе съобщено че текста е на черен фон и с черен цвят, което е наполовина истина - заради използваната тъмна висококонтрастна тема, фона наистина е черен, но цвета на текста е бял. Дори да предположим че биват докладвани цветовете с които документа ще бъде отпечатан, пак не е правилно, защото едва ли документа при тези обстоятелства ще бъде отпечатан с черен текст и черен фон - би било пълен абсурд.

В Calc (алтернативата на Excel за работа с таблици) беше другия ми проблем. NVDA просто категорично отказа да чете адекватно при навигиране между клетките на таблицата. Вместо да прочете съдържанието на клетката, NVDA четеше нещо от сорта на пълния път на отворения файл. Като натиснах F2, за да премина в режим на редактиране на избраната клетка, NVDA започна да ми чете етикетите на някакви радио-бутони, вместо съдържанието на клетката, както по принцип би трябвало. Ако не греша, в Calc от OpenOffice нямаше такива проблеми с NVDA.

И с това приключи тестването ми на LibreOffice. Деинсталирах го от компютъра си. Може би периодът ми на тестване бе твърде кратък, но щом дори през това време се натъкнах на проблеми, явно цялостното изживяване едва ли ще е приятно. Дано да греша и откритите от мен проблеми да са по-скоро изключение. Защото иначе ще е трудно да привлечем към безплатните алтернативи на Microsoft Office масовия потребител на екранни четци.

Аз лично, вземайки предвид гореизброените проблеми, не бих разчитал на продуктите от пакета LibreOffice за ежедневната си работа и обучението си, защото в тези две сфери имам нужда от програми, които знам че няма да ме издънят в най-неподходящия момент. Не се гордея с нелегалното си ползване на Microsoft Office (цената му не ми е по джоба), но засега ще е така.

Въпреки това се надявам, че неприятното ми изживяване с LibreOffice е било заради грешно зададени от мен настройки, което по принцип също е възможно и не е за пренебрегване като причина за проблемите, а не заради недоизпипани неща в самия офис пакет.

За обикновения потребител обаче, смятам че е добре да се пробва дали ще вършат работа OpenOffice или LibreOffice и да се ползва една от тези две безплатни алтернативи на Microsoft Office, ако това е възможно.