@@AR @@06 GUI-toegangsprogramma's: Technische achtergrond Sylvia Pont 1. Wat is een GUI? Een GUI (Graphical User Interface), ofwel grafische gebruikersomgeving, is het onderdeel van een modern besturingssysteem (zoals Windows 95) dat verantwoordelijk is voor wat we op het scherm te zien krijgen, en dus ook voor de interactie tussen de computer en zijn gebruiker. Microsoft heeft er bij de ontwikkeling van Windows 95 bewust voor gekozen om de computer te associ‰ren met een vertrouwd beeld uit onze dagelijkse omgeving. Omdat de computer veel bureauwerk overneemt, was het logisch hem als een bureau voor te stellen. Het beeldscherm toont dan ook een bureaublad met daarop een aantal voorwerpen waarmee we binnen onze bureauomgeving vertrouwd zijn, zoals een prullenbak (waar een document naartoe gesleept kan worden om het te verwijderen) of een blad papier (dat geactiveerd kan worden om het met een tekstverwerker te beschrijven). Voor een ziende is het prettig om te werken met een computer die op dezelfde manier (visueel) georganiseerd is als zijn of haar vertrouwde bureau. Dit maakt het werken met GUI's makkelijk voor ziende PC-gebruikers. Veel mensen denken dat het GUI-concept werd uitgevonden door Apple, maar in feite ontwikkelde Xerox de eerste GUI tussen 1970 en 1980. 2. Wat is een GUI-toegangsprogramma? De schermopbouw binnen een grafische gebruikersomgeving (zoals Windows) is zeer complex. Je krijgt er als PC-gebruiker te maken met grafische weergaven (zoals pictogrammen, knoppen, schuifbalken,...), aanpasbare kleuren en contrasten, diverse lettertypes, de mogelijkheid tot gelijktijdig uitvoeren van meerdere taken, aanpasbare vensterformaten, muisbediening, visuele voorstelling van geluiden, het volgen van diverse cursors (focus, muiscursor, tekstinvoercursor,...), ruimtelijke verbanden (zoals vensters die elkaar overlappen, iconen die her en der over het bureaublad verspreid staan),... Een grafische gebruikersomgeving bevat dus heel wat informatie in een andere vorm dan tekst. Brailleleesregels en spraaksynthesizers kunnen echter alleen informatie in tekstvorm weergeven. De meeste informatie van het schermbeeld kan dus niet zomaar van het scherm naar de brailleleesregel en/of spraaksynthesizer gekopieerd worden, maar moet omgezet worden naar een tekstvorm die in braille en/of spraak weergegeven kan worden.De programma's die dergelijke omzettingen verzorgen noemen we GUI-toegangsprogramma's. Een belangrijke vraag bij het ontwerp van zo'n GUI- toegangsprogramma is dan ook: Hoe kan mijn product de blinde gebruiker een duidelijk beeld geven van wat Windows op het scherm doet?. 3. Hoe werkt een GUI-toegangsprogramma? 3.1. Uitgangspunten 3.1.1. Filosofie Voor het omzetten van de informatie van het schermbeeld, volgt een producent van een GUI-toegangsprogramma bepaalde uitgangspunten, die leiden tot een eigen specifieke manier van weergave in braille en/of spraak. We sommen een paar mogelijke uitgangspunten op: -Sommige producten gaan uit van het idee dat de focus steeds gevolgd moet worden. -Bij andere producten is het uitgangspunt dat de hi‰rarchische structuur van het Windows-besturingssysteem op een begrijpelijke manier moet worden weergegeven om intu‹tief met deze GUI te kunnen werken. -Weer andere producten hanteren het idee dat het originele Windows schermbeeld zo goed mogelijk moet overgebracht worden naar de blinde gebruiker. Op die manier kan hij er een idee van krijgen hoe Windows eruitziet voor een ziende gebruiker. Dergelijke uitgangspunten worden bepaald door de ontwerpfilosofie achter elk product. De eigenschappen en mogelijkheden van een GUI-toegangsprogramma hangen hier nauw mee samen, zoals we verder nog zullen toelichten. 3.1.2. Ondersteuning van weergavemedia Vanwege de complexiteit en de onmogelijkheid om het schermbeeld direct op de leesregel weer te geven zal, binnen een grafische omgeving als Windows, brailleweergave alleen vaak niet meer volstaan en kan de ondersteuning van spraak niet langer als een overbodige luxe beschouwd worden. Brailleweergave is van groot belang omdat dit de lees- en schrijfkundigheid bevordert. Bovendien is brailleweergave noodzakelijk indien een hoge nauwkeurigheid gewenst is (bijvoorbeeld bij tekstverwerking). De integratie van braille en spraak en de mate van ondersteuning van beide media worden door de diverse producenten op verschillende manieren aangepakt. Zo zien we producten die: -Brailleweergave met volledige functionaliteit bieden, aangevuld met spraak. -Spraakweergave met volledige functionaliteit bieden, aangevuld met braille. -Zowel braille- als spraakweergave met volledige functionaliteit bieden. 3.2. Technieken 3.2.1. Filtering Om het grafische beeld te kunnen omzetten naar braille en/of spraak, moet het GUI-toegangsprogramma continu informatie verzamelen over de gebeurtenissen op het scherm. Daarbij moet uiteraard voorkomen worden dat informatie die niet op het scherm zichtbaar is, via de brailleleesregel leesbaar en/of de spraaksynthesizer hoorbaar gemaakt wordt. Uit de vele grafische informatie moet dus enkel de relevante informatie gefilterd worden. Op het allerhoogste niveau in een computersysteem is alle informatie aanwezig in de vorm van nullen en enen. Op het allerlaagste niveau is enkel informatie over het schermbeeld aanwezig in de vorm van een verzameling van beeldpunten. Daar tussenin bevinden zich niveau's waar informatie aanwezig is in de vorm van codes (zoals ASCII- of programmacodes). Globaal gezien zijn er drie mogelijkheden om informatie uit het computersysteem te filteren, die op verschillende niveau's in het computersysteem opereren: -Via high level filters (filters op hoog niveau), die op het niveau van de aansturing van het systeem werken. Deze filters werken doorgaans goed bij toepassingsprogramma's die gemaakt zijn volgens de gestandaardiseerde programmeertechnieken en -conventies van Windows, maar kunnen problemen opleveren bij toepassingen die niet volgens deze conventies gemaakt werden. Bovendien kan de producent van een GUI-toegangsprogramma dikwijls niet makkelijk achterhalen hoe een bepaalde toepassing gemaakt is. -Via low level filters (filters op laag niveau), die hun informatie rechtstreeks uit het geheugen van de videokaart (kaart die het beeldscherm aanstuurt) halen. Deze schermbeeldinformatie, die eigenlijk niet meer is dan een verzameling van beeldpunten, moet dan met behulp van beeld- en tekstherkenningstechnieken omgezet worden in betekenisvolle informatie over de inhoud van het beeld. Deze methode voorkomt de problemen die de filters op hoog niveau kennen. De beeld- en tekstherkenning kost echter relatief veel rekentijd en geheugen en betekent dus een extra belasting voor de computer. Bovendien kan dit soort filters aanleiding geven tot problemen met ondermeer de videokaart en de beeldscherminstellingen. -Via de MSAA-omgeving (Microsoft Active Accessibility), die in principe de spil vormt voor informatieuitwisseling tussen het Windows besturingssysteem, de toepassingsprogramma's en het GUI-toegangsprogramma. MSAA geeft in principe informatie door op een simpele, directe manier zonder de eerder ge-noemde problemen, maar kan slechts goed functioneren indien zowel het besturingssysteem als de toepassingsprogramma's ‚n het GUI- toegangsprogramma volledig MSAA-compatibel zijn. Dit is echter lang niet altijd het geval. In principe is het gebruik van MSAA de eenvoudigste en meest effici‰nte manier om een GUI-toegangsprogramma van de nodige input te voorzien, maar in de praktijk levert deze methode voor filtering nog grote problemen op. Vaak wordt - afhankelijk van de actieve toepassing - een combinatie van deze drie methodes voor informatiefiltering gebruikt. Zo kan het voorkomen dat een MSAA-compatibel GUI- toegangsprogramma MSAA gebruikt bij het werken met een MSAA- compatibel toepassingsprogramma, maar overschakelt op het gebruik van low-level of high-level filters bij het werken met toepassingen die MSAA niet ondersteunen. Hierbij noteren wij de trend dat de meeste producenten zich tegenwoordig beijveren om hun product(-en) ook onafhankelijk van MSAA te laten functioneren. 3.2.2. Off Screen Model De uit het systeem gefilterde informatie wordt bijgehouden in een gegevensbank, die een model van het schermbeeld is en dan ook een Off Screen Model (kortweg OSM) genoemd wordt. Dit OSM bevat tot in de kleinste details alle informatie over wat er op het scherm te zien is en dat is natuurlijk veel te veel om in de vorm van braille en/of spraak weer te geven. Veel informatie die de gegevensbank bevat is immers niet relevant (de relevantie hangt overigens dikwijls af van de situatie). De uitgangspunten van waaruit de producent het GUI- toegangsprogramma ontwikkeld heeft en de commando's die de gebruiker naar het GUI-toegangsprogramma stuurt, bepalen uiteindelijk welke tekst er vanuit het OSM naar de brailleleesregel en / of spraaksynthesizer wordt gestuurd. 4. Besluit De werking van een GUI-toegangsprogramma blijkt in hoge mate afhankelijk te zijn van de filosofie achter het product (hoe moet de -veelal grafische- informatie worden gerepresenteerd? Welke informatie moet worden weergegeven?_) en van de manier van filtering (op hoog niveau, op laag niveau of via de MSAA- omgeving). De globale karakteristieken van een product worden hierdoor bepaald. In het volgende overzichtsartikel besteden we dan ook uitgebreid aandacht aan deze aspecten.