Προς την προσβασιμότητα

Προς την προσβασιμότητα

Η Παρασκευή είναι το τέλος της εργάσιμης ημέρας. Τα άσχημα νέα έρχονται πάντα στο τέλος της εργάσιμης ημέρας της Παρασκευής.

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

Σας ευχαριστώ xxxx, εεε από σήμερα θα αναφέρετε zzzz
...
Και η ομάδα του Hugh θα διασφαλίσει ότι τα προϊόντα μας είναι προσβάσιμα σε άτομα με αναπηρία.

Ωχ όχι! Γιατί μου άξιζε αυτό; Θέλουν να φύγω; Προετοιμαστείτε για άχαρη σκληρή δουλειά και προσπάθεια να διορθώσετε τα λάθη των άλλων. Αυτό είναι σίγουρα μια αποτυχία...

Αυτή ήταν η διαθεσιμότητα πριν από μερικά χρόνια. Σε ορισμένες φτωχές ψυχές δόθηκε η δουλειά να "καθαρίσουν" το UI για να προσπαθήσουν να το κάνουν προσβάσιμο σε άτομα με αναπηρία.

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

Αλλά ξαφνικά τα «ζωρίκια» άρχισαν να πολλαπλασιάζονται με την ταχύτητα μιας χιονοστιβάδας.

Διάφοροι αναγνώστες οθόνης (Αγγλικά Τα προγράμματα ανάγνωσης οθόνης) και τα προγράμματα περιήγησης συμπεριφέρθηκαν εντελώς διαφορετικά.

Οι χρήστες παραπονέθηκαν ότι η εφαρμογή δεν μπορεί να χρησιμοποιηθεί.

Μόλις διορθώθηκε ένα λάθος σε ένα μέρος, ένα άλλο εμφανιζόταν σε άλλο.

Και η απλή αλλαγή και διόρθωση των σφαλμάτων της διεπαφής χρήστη απαιτούσε Ηράκλειες προσπάθειες.

Ήμουν εκεί. Επέζησα, αλλά δεν «τα καταφέραμε» - τεχνικά καθαρίσαμε πολύ, προσθέσαμε πολλές περιγραφές πεδίου, ρόλους και πετύχαμε κάποιο επίπεδο συμμόρφωσης, αλλά κανείς δεν ήταν ευχαριστημένος. Οι χρήστες εξακολουθούσαν να παραπονούνται ότι δεν μπορούσαν να πλοηγηθούν στην εφαρμογή. Ο διευθυντής εξακολουθούσε να παραπονιέται για τη συνεχή ροή λαθών. Οι μηχανικοί παραπονέθηκαν ότι το πρόβλημα τέθηκε εσφαλμένα, χωρίς σαφώς καθορισμένη «σωστή» λύση που θα λειτουργούσε σε όλες τις περιπτώσεις.

Υπήρχαν κάποιες αναμφισβήτητα στιγμές που μου άνοιξαν τα μάτια στο ταξίδι μου προς την κατανόηση της προσβασιμότητας.
Ίσως το πρώτο ήταν η συνειδητοποίηση ότι η προσθήκη λειτουργικότητας προσβασιμότητας πάνω από ένα τελικό προϊόν ήταν δύσκολη. Και είναι ακόμα πιο δύσκολο να πείσεις τους διευθυντές ότι είναι απίστευτα δύσκολο! Όχι, δεν είναι απλώς "προσθήκη μερικών ετικετών" και η διεπαφή χρήστη θα λειτουργήσει μια χαρά. Όχι, αυτό δεν μπορεί να ολοκληρωθεί σε τρεις εβδομάδες· ακόμη και τρεις μήνες δεν θα είναι αρκετοί.
Η επόμενη στιγμή της αλήθειας μου ήρθε όταν είδα από πρώτο χέρι πώς οι τυφλοί χρήστες χρησιμοποίησαν στην πραγματικότητα την εφαρμογή μας. Αυτό είναι ΤΟΣΟ διαφορετικό από την εξέταση μηνυμάτων σφάλματος.

Θα επανέλθω σε αυτό ξανά και ξανά, αλλά σχεδόν όλες οι "υποθέσεις" μας σχετικά με τον τρόπο με τον οποίο οι χρήστες χρησιμοποιούσαν την εφαρμογή μας ήταν λανθασμένες.

Πλοήγηση σε ένα πολύπλοκο περιβάλλον χρήστη με χρήση πλήκτρων Tab/Shift+Tab - αυτό είναι χάλια! Χρειαζόμαστε κάτι καλύτερο. Συντομεύσεις πληκτρολογίου, κεφαλίδες.

Η απώλεια της εστίασης κατά την αλλαγή της διεπαφής χρήστη δεν είναι μεγάλο πρόβλημα, έτσι δεν είναι; Ας το ξανασκεφτούμε - αυτό είναι απίστευτα μπερδεμένο.

Συνέχισα, δούλεψα σε διαφορετικά έργα για λίγο και μετά ξεκινήσαμε ένα νέο έργο, με πολύπλοκο περιβάλλον χρήστη και σαφή εγκατάσταση, για να επιτύχουμε τελικά την προσβασιμότητα αυτή τη φορά.

Έτσι, κάναμε ένα βήμα πίσω και εξετάσαμε πώς θα μπορούσαμε να το εφαρμόσουμε διαφορετικά και να πετύχουμε, και να κάνουμε τη διαδικασία λιγότερο βαρετή!

Πολύ γρήγορα καταλήξαμε σε κάποια συμπεράσματα:

  1. Δεν θέλαμε οι άνθρωποι που αναπτύσσουν τη διεπαφή χρήστη να μπλέκουν με τις ετικέτες/ρόλους άρια και, φυσικά, τη δομή HTML των στοιχείων. Χρειαζόμασταν να τους παρέχουμε τα σωστά εξαρτήματα που δημιούργησαν την προσβασιμότητα αμέσως.
  2. Προσβασιμότητα == Ευκολία χρήσης – δηλ. Αυτό δεν είναι απλώς μια τεχνική πρόκληση. Χρειαζόμασταν να αλλάξουμε ολόκληρη τη διαδικασία σχεδιασμού και να διασφαλίσουμε ότι η προσβασιμότητα ελήφθη υπόψη και συζητήθηκε πριν ξεκινήσει ο σχεδιασμός της διεπαφής χρήστη. Πρέπει να σκεφτείτε νωρίς πώς οι χρήστες θα ανακαλύψουν οποιαδήποτε λειτουργικότητα, πώς θα πλοηγηθούν και πώς θα λειτουργήσει το δεξί κλικ από το πληκτρολόγιο. Η προσβασιμότητα θα πρέπει να αποτελεί αναπόσπαστο μέρος της διαδικασίας σχεδιασμού - για ορισμένους χρήστες είναι πολύ περισσότερα από την απλή εμφάνιση της εφαρμογής.
  3. Από την αρχή, θέλαμε να λάβουμε σχόλια από τυφλούς και άλλους χρήστες με ειδικές ανάγκες σχετικά με την ευκολία χρήσης της εφαρμογής.
  4. Χρειαζόμασταν πολύ καλούς τρόπους για να εντοπίσουμε παλινδρομήσεις προσβασιμότητας.

Λοιπόν, από μηχανολογική άποψη, το πρώτο μέρος ακουγόταν αρκετά διασκεδαστικό - η ανάπτυξη μιας αρχιτεκτονικής και η εφαρμογή μιας βιβλιοθήκης στοιχείων. Και πράγματι έτσι ήταν.

Κάνοντας ένα βήμα πίσω, κοιτώντας Παραδείγματα ARIA Και θεωρώντας αυτό ως πρόβλημα σχεδιασμού και όχι ως πρόβλημα «ταιριάσματος», εισαγάγαμε ορισμένες αφαιρέσεις. Ένα στοιχείο έχει μια «Δομή» (αποτελείται από στοιχεία HTML) και μια «Συμπεριφορά» (πώς αλληλεπιδρά με τον χρήστη). Για παράδειγμα, στα παρακάτω αποσπάσματα έχουμε μια απλή μη ταξινομημένη λίστα. Προσθέτοντας "συμπεριφορές" προστίθενται οι αντίστοιχοι ρόλοι στη λίστα για να λειτουργήσει σαν λίστα. Το ίδιο κάνουμε και για το μενού.

Προς την προσβασιμότητα

Στην πραγματικότητα, δεν προστίθενται μόνο ρόλοι εδώ, αλλά και χειριστές συμβάντων για πλοήγηση με πληκτρολόγιο.

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

Μπορείτε να το δείτε σε δράση στο https://stardust-ui.github.io/react/ – Βιβλιοθήκη UX Αντίδραση, το οποίο έχει σχεδιαστεί και υλοποιηθεί με γνώμονα την προσβασιμότητα από την αρχή.

Το δεύτερο μέρος - η αλλαγή της προσέγγισης και των διαδικασιών γύρω από το σχεδιασμό αρχικά με τρόμαξε: οι ταπεινοί μηχανικοί που προσπαθούν να προωθήσουν την οργανωτική αλλαγή δεν τελειώνει πάντα καλά, αλλά αποδείχθηκε ότι ήταν ένας από τους πιο ενδιαφέροντες τομείς όπου συνεισφέραμε σημαντικά στη διαδικασία . Με λίγα λόγια, η διαδικασία μας ήταν η εξής: νέα λειτουργικότητα θα αναπτυσσόταν από μία ομάδα, στη συνέχεια η ηγετική μας ομάδα θα επανεξέταζε/επαναλάμβανε την πρόταση και στη συνέχεια, μόλις εγκριθεί, ο σχεδιασμός θα παρέδιδε συνήθως στην ομάδα μηχανικών. Σε αυτήν την περίπτωση, η ομάδα μηχανικών ουσιαστικά «κατέχει» τη λειτουργικότητα προσβασιμότητας επειδή ήταν δική της ευθύνη να διορθώσει τυχόν προβλήματα που σχετίζονται με αυτήν.

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

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

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

Οι μηχανικοί έχουν πλέον αρκετά λεπτομερείς προδιαγραφές, διαθέσιμα εξαρτήματα που μπορούν να χρησιμοποιήσουν για την υλοποίηση και έναν τρόπο επικύρωσης της ροής εκτέλεσης. Μέρος αυτού που μας έχει διδάξει η εμπειρία είναι αυτό που μας έλειπε καθ' όλη τη διάρκεια - πώς μπορούμε να σταματήσουμε την οπισθοδρόμηση. Ομοίως, οι άνθρωποι μπορούν να χρησιμοποιήσουν ολοκλήρωση ή δοκιμές από άκρο σε άκρο για να δοκιμάσουν τη λειτουργικότητα, τις οποίες χρειαζόμαστε για να ανιχνεύσουμε αλλαγές στις αλληλεπιδράσεις και τις ροές εκτέλεσης - τόσο οπτικά όσο και συμπεριφορικά.

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

  1. Στοιχεία προσβασιμότητας είναι ένα σύνολο εργαλείων που μπορούν να εκτελεστούν τόσο στο πρόγραμμα περιήγησης όσο και ως μέρος του κύκλου κατασκευής/δοκιμής για τον εντοπισμό προβλημάτων.
  2. Η επαλήθευση ότι τα προγράμματα ανάγνωσης οθόνης λειτουργούν σωστά ήταν μια ιδιαίτερα απαιτητική εργασία. Με την εισαγωγή της πρόσβασης σε Προσβασιμότητα DOM, επιτέλους μπορούμε να τραβήξουμε στιγμιότυπα προσβασιμότητας της εφαρμογής, όπως ακριβώς κάνουμε για οπτικές δοκιμές, και να τα δοκιμάσουμε για παλινδρόμηση.

Έτσι, στο δεύτερο μέρος της ιστορίας, περάσαμε από την επεξεργασία κώδικα HTML στην εργασία σε υψηλότερο επίπεδο αφαίρεσης, αλλάξαμε τη διαδικασία ανάπτυξης σχεδίασης και εισαγάγαμε ενδελεχείς δοκιμές. Νέες διαδικασίες, νέες τεχνολογίες και νέα επίπεδα αφαίρεσης έχουν αλλάξει εντελώς το τοπίο της προσβασιμότητας και το τι σημαίνει να εργάζεσαι σε αυτόν τον χώρο.
Αλλά αυτό είναι μόνο η αρχή.

Η επόμενη «κατανόηση» είναι ότι οι τυφλοί χρήστες οδηγούν τεχνολογία αιχμής – είναι αυτοί που επωφελούνται περισσότερο, όχι μόνο από τις αλλαγές που περιγράψαμε προηγουμένως, αλλά και από το ότι νέες προσεγγίσεις και ιδέες καθίστανται δυνατές από την ML/AI. Για παράδειγμα, η τεχνολογία Immersive Reader επιτρέπει στους χρήστες να παρουσιάζουν κείμενο πιο εύκολα και καθαρά. Μπορεί να διαβαστεί δυνατά, η δομή της πρότασης αναλύεται γραμματικά και ακόμη και οι έννοιες των λέξεων εμφανίζονται γραφικά. Αυτό δεν ταιριάζει καθόλου στην παλιά νοοτροπία "κάντε το προσβάσιμο" - είναι μια δυνατότητα χρηστικότητας που θα βοηθήσει όλους.

Το ML/AI επιτρέπει εντελώς νέους τρόπους αλληλεπίδρασης και εργασίας, και είμαστε ενθουσιασμένοι που θα είμαστε μέρος των επόμενων σταδίων αυτού του ταξιδιού αιχμής. Η καινοτομία καθοδηγείται από μια αλλαγή στη σκέψη - η ανθρωπότητα υπάρχει εδώ και χιλιετίες, οι μηχανές για εκατοντάδες χρόνια, οι ιστότοποι για αρκετές δεκαετίες και τα smartphone ακόμη λιγότερο, η τεχνολογία πρέπει να προσαρμοστεί στους ανθρώπους και όχι το αντίστροφο.

Υ.Γ Το άρθρο έχει μεταφραστεί με μικρές αποκλίσεις από το πρωτότυπο. Ως συν-συγγραφέας αυτού του άρθρου, συμφώνησα σε αυτές τις παρεκβάσεις με τον Hugh.

Μόνο εγγεγραμμένοι χρήστες μπορούν να συμμετάσχουν στην έρευνα. Συνδεθείτε, Σας παρακαλούμε.

Προσέχετε την προσβασιμότητα των εφαρμογών σας;

  • Ναί

  • Όχι

  • Είναι η πρώτη φορά που ακούω για την προσβασιμότητα εφαρμογών.

Ψήφισαν 17 χρήστες. 5 χρήστες απείχαν.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο