Αναγνώστης οθόνης

μικρογραφία| Ένα παράδειγμα χρήστη που χρησιμοποιεί πρόγραμμα ανάγνωσης οθόνης.

Ο **αναγνώστης οθόνης** είναι μια μορφή υποβοηθητικής τεχνολογίας  που αποδίδει κείμενο και περιεχόμενο εικόνας ως έξοδο ομιλίας ή μπράιγ. Τα προγράμματα ανάγνωσης οθόνης είναι απαραίτητα σε άτομα που είναι τυφλά  και είναι χρήσιμα σε άτομα με προβλήματα όρασης,  αναλφάβητα ή με μαθησιακές δυσκολίες. Τα προγράμματα ανάγνωσης οθόνης είναι εφαρμογές λογισμικού που προσπαθούν να μεταφέρουν αυτό που βλέπουν τα άτομα με κανονική όραση σε μια οθόνη στους χρήστες τους μέσω μη οπτικών μέσων, όπως μετατροπή κειμένου σε ομιλία,  εικονίδια ήχου,  ή συσκευή μπράιγ. Αυτό το κάνουν εφαρμόζοντας μια μεγάλη ποικιλία τεχνικών που περιλαμβάνουν, για παράδειγμα, αλληλεπίδραση με ειδικά API προσβασιμότητας, χρήση διαφόρων λειτουργιών του λειτουργικού συστήματος (όπως επικοινωνία μεταξύ διεργασιών και αναζήτηση ιδιοτήτων διεπαφής χρήστη) και χρήση τεχνικών αγκίστρωσης.

Τα λειτουργικά συστήματα Microsoft Windows έχουν συμπεριλάβει το πρόγραμμα ανάγνωσης οθόνης Microsoft Narrator από τα Windows 2000, αν και ξεχωριστά προϊόντα όπως ο εμπορικά διαθέσιμος αναγνώστης οθόνης JAWS και ο μεγεθυντικός φακός ZoomText της Freedom Scientific και το πρόγραμμα ανάγνωσης οθόνης ελεύθερου και ανοιχτού κώδικα NVDA της NV Access είναι πιο δημοφιλή για αυτό το λειτουργικό σύστημα.  Το macOS, το iOS και το tvOS της Apple Inc. περιλαμβάνουν το VoiceOver ως ενσωματωμένο πρόγραμμα ανάγνωσης οθόνης, ενώ το Android της Google παρέχει το πρόγραμμα ανάγνωσης οθόνης Talkback και το ChromeOS του μπορεί να χρησιμοποιεί το ChromeVox.  Ομοίως, οι συσκευές που βασίζονται σε Android από την Amazon παρέχουν το πρόγραμμα ανάγνωσης οθόνης VoiceView. Υπάρχουν επίσης δωρεάν προγράμματα ανάγνωσης οθόνης ανοιχτού κώδικα για Linux και συστήματα παρόμοια με το Unix, όπως το Speakup και το Orca .

## Τύποι
### Γραμμή εντολών (κείμενο)
Σε πρώιμα λειτουργικά συστήματα, όπως το MS-DOS, το οποίο χρησιμοποιούσε διεπαφές γραμμής εντολών (CLI), η εμφάνιση της οθόνης αποτελείται από χαρακτήρες που αντιστοιχίζονται απευθείας σε μια προσωρινή μνήμη οθόνης στη μνήμη και σε μια θέση δρομέα. Η είσοδος γινόταν με πληκτρολόγιο. Όλες αυτές οι πληροφορίες μπορούσαν επομένως να ληφθούν από το σύστημα είτε αγκιστρώνοντας τη ροή πληροφοριών γύρω από το σύστημα και διαβάζοντας το buffer της οθόνης είτε χρησιμοποιώντας μια τυπική υποδοχή εξόδου υλικού  και κοινοποιώντας τα αποτελέσματα στον χρήστη.

Στη δεκαετία του 1980, το Ερευνητικό Κέντρο για την Εκπαίδευση των Ατόμων με Αναπηρία Οράσεως (RCEVH) στο Πανεπιστήμιο του Μπέρμιγχαμ ανέπτυξε έναν αναγνώστη οθόνης για το BBC Micro και το NEC Portable.

### Γραφικά
#### Μοντέλα εκτός οθόνης
Με την άφιξη των γραφικών διεπαφών χρήστη (GUIs), η κατάσταση έγινε πιο περίπλοκη. Ένα GUI έχει χαρακτήρες και γραφικά που σχεδιάζονται στην οθόνη σε συγκεκριμένες θέσεις, και επομένως δεν υπάρχει καθαρά κειμενική αναπαράσταση των γραφικών περιεχομένων της οθόνης. Ως εκ τούτου, οι αναγνώστες οθόνης αναγκάστηκαν να χρησιμοποιήσουν νέες τεχνικές χαμηλού επιπέδου, συλλέγοντας μηνύματα από το λειτουργικό σύστημα και χρησιμοποιώντας αυτά για να δημιουργήσουν ένα «μοντέλο εκτός οθόνης»", μια αναπαράσταση της οθόνης στην οποία αποθηκεύεται το απαιτούμενο περιεχόμενο κειμένου.

Για παράδειγμα, το λειτουργικό σύστημα μπορεί να στέλνει μηνύματα για να σχεδιάσει ένα κουμπί εντολής και τη λεζάντα του. Αυτά τα μηνύματα υποκλέπτονται και χρησιμοποιούνται για την κατασκευή του μοντέλου εκτός οθόνης. Ο χρήστης μπορεί να κάνει εναλλαγή μεταξύ των στοιχείων ελέγχου (όπως κουμπιά) που είναι διαθέσιμα στην οθόνη και οι υπότιτλοι και τα περιεχόμενα ελέγχου θα διαβάζονται δυνατά ή/και θα εμφανίζονται σε μια ανανεώσιμη οθόνη μπράιγ.

Οι εφαρμογές ανάγνωσης οθόνης μπορούν επίσης να επικοινωνούν πληροφορίες για μενού, χειριστήρια και άλλες οπτικές κατασκευές για να επιτρέψουν στους τυφλούς χρήστες να αλληλεπιδράσουν με αυτές τις κατασκευές. Ωστόσο, η διατήρηση ενός μοντέλου εκτός οθόνης είναι μια σημαντική τεχνική πρόκληση. Η σύνδεση των μηνυμάτων χαμηλού επιπέδου και η διατήρηση ενός ακριβούς μοντέλου είναι και τα δύο δύσκολα καθήκοντα.

#### API Προσβασιμότητας
Οι σχεδιαστές λειτουργικών συστημάτων και εφαρμογών προσπάθησαν να αντιμετωπίσουν αυτά τα προβλήματα παρέχοντας τρόπους στους αναγνώστες οθόνης να έχουν πρόσβαση στα περιεχόμενα της οθόνης χωρίς να χρειάζεται να διατηρούν ένα μοντέλο εκτός οθόνης. Αυτά περιλαμβάνουν την παροχή εναλλακτικών και προσβάσιμων αναπαραστάσεων για το τι εμφανίζεται στην οθόνη που έχει πρόσβαση μέσω ενός API. Τα υπάρχοντα API περιλαμβάνουν:* Android Accessibility Framework

* Apple Accessibility API
* AT-SPI
* IAccessible2
* Microsoft Active Accessibility (MSAA)
* Microsoft UI Automation
* Java Access Bridge

Τα προγράμματα ανάγνωσης οθόνης μπορούν να ρωτήσουν το λειτουργικό σύστημα ή την εφαρμογή για το τι εμφανίζεται αυτήν τη στιγμή και να λαμβάνουν ενημερώσεις όταν αλλάζει η οθόνη. Για παράδειγμα, ένας αναγνώστης οθόνης μπορεί να ενημερωθεί ότι η τρέχουσα εστίαση είναι σε ένα κουμπί και η λεζάντα του κουμπιού που πρέπει να κοινοποιηθεί στον χρήστη. Αυτή η προσέγγιση είναι πολύ πιο εύκολη για τους προγραμματιστές προγραμμάτων ανάγνωσης οθόνης, αλλά αποτυγχάνει όταν οι εφαρμογές δεν συμμορφώνονται με το API προσβασιμότητας: για παράδειγμα, το Microsoft Word δεν συμμορφώνεται με το API MSAA, επομένως οι αναγνώστες οθόνης πρέπει να διατηρούν ένα μοντέλο εκτός οθόνης για το Word ή να βρουν άλλον τρόπο πρόσβασης στο περιεχόμενό του. Μια προσέγγιση είναι η χρήση διαθέσιμων μηνυμάτων λειτουργικού συστήματος και μοντέλων αντικειμένων εφαρμογών για τη συμπλήρωση των API προσβασιμότητας.

Οι αναγνώστες οθόνης μπορεί να θεωρηθεί ότι μπορούν να έχουν πρόσβαση σε όλο το περιεχόμενο της οθόνης που δεν είναι εγγενώς απρόσιτο. Τα προγράμματα περιήγησης στο Web, οι επεξεργαστές κειμένου, τα εικονίδια και τα παράθυρα και τα προγράμματα email είναι μερικές μόνο από τις εφαρμογές που χρησιμοποιούνται με επιτυχία από τους χρήστες αναγνώστη οθόνης. Ωστόσο, σύμφωνα με ορισμένους χρήστες,  η χρήση ενός προγράμματος ανάγνωσης οθόνης είναι πολύ πιο δύσκολη από τη χρήση ενός GUI, και πολλές εφαρμογές έχουν συγκεκριμένα προβλήματα που προκύπτουν από τη φύση της εφαρμογής (π.χ. κινούμενα σχέδια) ή τη μη συμμόρφωση με τα πρότυπα προσβασιμότητας για την πλατφόρμα (π.χ. Microsoft Word και Active Accessibility).

### Προγράμματα και εφαρμογές αυτοφωνίας
Ορισμένα προγράμματα και εφαρμογές έχουν ενσωματωμένη τεχνολογία φωνής παράλληλα με την κύρια λειτουργικότητά τους. Αυτά τα προγράμματα ονομάζονται self-voicing και μπορούν να είναι μια μορφή υποβοηθητικής τεχνολογίας, εάν έχουν σχεδιαστεί για να εξαλείψουν την ανάγκη χρήσης ενός προγράμματος ανάγνωσης οθόνης.

## Προσαρμογή
Τα περισσότερα προγράμματα ανάγνωσης οθόνης επιτρέπουν στο χρήστη να επιλέξει εάν τα περισσότερα σημεία στίξης ανακοινώνονται ή αγνοούνται σιωπηλά. Ορισμένα προγράμματα ανάγνωσης οθόνης μπορούν να προσαρμοστούν σε μια συγκεκριμένη εφαρμογή μέσω '''δέσμης ενεργειών (σεναρίων)'''. Ένα πλεονέκτημα του σεναρίου είναι ότι επιτρέπει την κοινή χρήση προσαρμογών μεταξύ των χρηστών, αυξάνοντας την προσβασιμότητα για όλους. Το JAWS απολαμβάνει μια ενεργή κοινότητα κοινής χρήσης σεναρίων, για παράδειγμα.

### Πολυλογισμός
Το Verbosity είναι ένα χαρακτηριστικό του λογισμικού ανάγνωσης οθόνης που υποστηρίζει χρήστες υπολογιστών με προβλήματα όρασης. Τα χειριστήρια πολυλογικής ομιλίας επιτρέπουν στους χρήστες να επιλέξουν πόση ανατροφοδότηση ομιλίας επιθυμούν να ακούσουν. Συγκεκριμένα, οι ρυθμίσεις πολυλογισμού επιτρέπουν στους χρήστες να κατασκευάσουν ένα νοητικό μοντέλο ιστοσελίδων που εμφανίζονται στην οθόνη του υπολογιστή τους. Με βάση τις ρυθμίσεις πολυλογισμού, ένα πρόγραμμα ανάγνωσης οθόνης ενημερώνει τους χρήστες για ορισμένες αλλαγές μορφοποίησης, όπως πότε αρχίζει και τελειώνει ένα πλαίσιο ή πίνακας, όταν έχουν εισαχθεί γραφικά στο κείμενο ή όταν εμφανίζεται μια λίστα στο έγγραφο. Οι ρυθμίσεις πολυλογισμού μπορούν επίσης να ελέγχουν το επίπεδο περιγραφικότητας στοιχείων, όπως λίστες, πίνακες και ενότητες. Για παράδειγμα, το JAWS παρέχει χαμηλά, μεσαία και υψηλά προκαθορισμένα επίπεδα πολυλογισμού ιστού. Το υψηλό επίπεδο πολυγλωσσίας στον ιστό παρέχει περισσότερες λεπτομέρειες σχετικά με τα περιεχόμενα μιας ιστοσελίδας.

### Γλώσσα
Ορισμένα προγράμματα ανάγνωσης οθόνης μπορούν να διαβάσουν κείμενο σε περισσότερες από μία γλώσσες, υπό την προϋπόθεση ότι η γλώσσα του υλικού είναι κωδικοποιημένη στα μεταδεδομένα του. 

Προγράμματα ανάγνωσης οθόνης όπως το JAWS,  το NVDA και το VoiceOver περιλαμβάνουν επίσης γλωσσικό πολυλογισμό, ο οποίος εντοπίζει αυτόματα τις ρυθμίσεις πολυλογίας που σχετίζονται με τη γλώσσα εξόδου ομιλίας. Για παράδειγμα, εάν ένας χρήστης πλοηγηθεί σε έναν ιστότοπο που εδρεύει στο Ηνωμένο Βασίλειο, το κείμενο θα διαβάζεται με αγγλική προφορά.

## Παραπομπές

## Εξωτερικοί σύνδεσμοι

* Εξομοιωτής ανάγνωσης οθόνης Fangs – μια επέκταση Mozilla Firefox ανοιχτού κώδικα που προσομοιώνει πώς θα φαινόταν μια ιστοσελίδα στο JAWS