VoiceOver: τι είναι, χειρονομίες ελέγχου και δυνατότητες στο iOS

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-05-15 Χρόνος ανάγνωσης: 8 λεπ

VoiceOver — είναι ο ενσωματωμένος αναγνώστης οθόνης (screen reader) της Apple, ο οποίος εκφωνεί κάθε στοιχείο της διεπαφής και επιτρέπει τον έλεγχο της συσκευής με χειρονομίες. Η τεχνολογία είναι ενσωματωμένη σε iOS, iPadOS και macOS σε επίπεδο συστήματος και δεν απαιτεί εγκατάσταση πρόσθετου λογισμικού. Σύμφωνα με Apple Accessibility (2025), το VoiceOver υποστηρίζει πάνω από 40 γλώσσες και χρησιμοποιείται από εκατομμύρια τυφλούς και άτομα με προβλήματα όρασης σε όλο τον κόσμο.

Κύρια σημεία

  • VoiceOver — ενσωματωμένος screen reader σε iOS, iPadOS και macOS, ελεγχόμενος με χειρονομίες και φωνή
  • Ο περιστροφέας VoiceOver αλλάζει λειτουργίες πλοήγησης: λέξεις, χαρακτήρες, επικεφαλίδες, σύνδεσμοι
  • Χειρονομίες περιλαμβάνουν άγγιγμα (εκφώνηση), σύρσιμο (μετάβαση) και διπλό άγγιγμα (ενεργοποίηση)
  • Προγραμματιστές ρυθμίζουν την προσβασιμότητα μέσω UIAccessibility και Accessibility Label
  • VoiceOver ενσωματώνεται με δυναμικό κείμενο και οθόνες Braille

Τι είναι το VoiceOver;

VoiceOver — είναι ένας αναγνώστης οθόνης (screen reader) ενσωματωμένος στα λειτουργικά συστήματα της Apple. Είναι σχεδιασμένο για τυφλούς και άτομα με προβλήματα όρασης και παρέχει πλήρη αλληλεπίδραση με τη συσκευή χωρίς οπτική επαφή. Το VoiceOver εκφωνεί όλα τα στοιχεία της διεπαφής: κουμπιά, συνδέσμους, κείμενο, εικόνες, ειδοποιήσεις και στοιχεία συστήματος.

Η τεχνολογία παρουσιάστηκε για πρώτη φορά το 2005 για macOS, και στο iOS εμφανίστηκε με το iPhone 3GS το 2009. Από τότε, το VoiceOver έχει γίνει αναπόσπαστο μέρος του οικοσυστήματος της Apple και ένα από τα κύρια επιχειρήματα υπέρ της προσβασιμότητας της πλατφόρμας. Το VoiceOver είναι ενσωματωμένο σε επίπεδο συστήματος — αυτό σημαίνει ότι λειτουργεί σε οποιαδήποτε εφαρμογή χωρίς πρόσθετη ενσωμάτωση από τον προγραμματιστή, αν και η ποιότητα εκφώνησης εξαρτάται άμεσα από το πόσο καλά η εφαρμογή χρησιμοποιεί το API προσβασιμότητας του iOS.

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

Πώς λειτουργεί το VoiceOver;

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

Σειρά ανάγνωσης και πλοήγηση

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

Σε κάθε μετακίνηση, το VoiceOver προφέρει τον τύπο στοιχείου (κουμπί, σύνδεσμος, επικεφαλίδα), το όνομά του (accessibilityLabel), την κατάσταση (επιλεγμένο, απενεργοποιημένο) και την υπόδειξη (accessibilityHint). Εάν το στοιχείο περιέχει τιμή — για παράδειγμα, ρυθμιστικό έντασης — το VoiceOver την εκφωνεί επίσης. Χαρακτηριστικά Προσβασιμότητας (UIAccessibilityTraits) ενημερώνουν επιπλέον τον χρήστη για τη συμπεριφορά του στοιχείου: αν είναι κουμπί, διακόπτης, αναζήτηση ή πλήκτρο πληκτρολογίου.

Περιστροφέας VoiceOver

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

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

Χειρονομίες ελέγχου VoiceOver

Το VoiceOver χρησιμοποιεί το δικό του σύνολο χειρονομιών που δεν συμπίπτουν με τις τυπικές χειρονομίες iOS. Οι περισσότερες χειρονομίες εκτελούνται με τρία δάχτυλα αντί για ένα — αυτό αποτρέπει συγκρούσεις με τον κανονικό έλεγχο και επιτρέπει στο VoiceOver να λειτουργεί ταυτόχρονα με την τυπική είσοδο.

ΕνέργειαΧειρονομίαΑποτέλεσμα
Εκφώνηση στοιχείουΆγγιγμα με 1 δάχτυλοΠροφέρει το όνομα του στοιχείου
ΕνεργοποίησηΔιπλό άγγιγμαΠάτημα κουμπιού ή συνδέσμου
Επόμενο στοιχείοΣύρσιμο δεξιάΜετάβαση στο επόμενο
Προηγούμενο στοιχείοΣύρσιμο αριστεράΕπιστροφή στο προηγούμενο
Κύλιση3 δάχτυλα σύρσιμοΚύλιση λίστας ή σελίδας
Περιστροφέας2 δάχτυλα περιστροφήΑλλαγή λειτουργίας πλοήγησης

Η χειρονομία διπλό άγγιγμα είναι ο κύριος τρόπος ενεργοποίησης στοιχείων στο VoiceOver. Εάν το στοιχείο απαιτεί ειδική ενέργεια (για παράδειγμα, μεταφορά), το VoiceOver χρησιμοποιεί την ακολουθία „άγγιγμα — διπλό άγγιγμα και κράτημα" για είσοδο σε λειτουργία μετακίνησης. Αυτό επιτρέπει την εκτέλεση σύνθετων χειρονομιών όπως drag-and-drop χωρίς να βλέπει κανείς την οθόνη. Το VoiceOver υποστηρίζει επίσης τη χειρονομία „διπλό άγγιγμα με δύο δάχτυλα" για ακύρωση ενέργειας και „τριπλό άγγιγμα" για ενεργοποίηση/απενεργοποίηση του παραπετάσματος οθόνης (Screen Curtain).

VoiceOver στην ανάπτυξη εφαρμογών κινητού

Ο προγραμματιστής μιας εφαρμογής iOS μπορεί να βελτιώσει σημαντικά την αλληλεπίδραση με το VoiceOver μέσω του API UIAccessibility. Οι βασικές ρυθμίσεις προσβασιμότητας προστίθενται στο Interface Builder (Identity Inspector → Accessibility), αλλά για σύνθετες διεπαφές απαιτείται προγραμματισμός ρύθμισης στον κώδικα.

Ετικέτα προσβασιμότητας και Χαρακτηριστικά

Η ιδιότητα accessibilityLabel καθορίζει το κείμενο που θα εκφωνήσει το VoiceOver για το στοιχείο. Εάν η ετικέτα δεν έχει οριστεί, το VoiceOver χρησιμοποιεί το κείμενο του κουμπιού ή το placeholder του πεδίου κειμένου. Για στοιχεία χωρίς κείμενο (εικονίδια, προσαρμοσμένες προβολές), η ετικέτα είναι υποχρεωτική. Η ιδιότητα accessibilityTraits καθορίζει τον τύπο στοιχείου: κουμπί, επικεφαλίδα, διακόπτης, αναζήτηση, πλήκτρο πληκτρολογίου, μεταβαλλόμενη τιμή, σύνδεσμος και άλλα.

swift
let profileButton = UIButton(type: .custom)
profileButton.setImage(UIImage(named: "avatar"), for: .normal)
profileButton.isAccessibilityElement = true
profileButton.accessibilityLabel = "Προφίλ χρήστη"
profileButton.accessibilityTraits = .button
profileButton.accessibilityHint = "Ανοίγει την οθόνη ρυθμίσεων προφίλ"

Η σημαία isAccessibilityElement ενεργοποιεί την υποστήριξη VoiceOver για προσαρμοσμένες προβολές — από προεπιλογή είναι true μόνο για τυπικά στοιχεία (UIButton, UILabel, UITextField). Η παράμετρος accessibilityHint προσθέτει μια υπόδειξη: το VoiceOver την εκφωνεί μετά από παύση εάν ο χρήστης σταματήσει σε ένα στοιχείο. Το Hint πρέπει να περιγράφει το αποτέλεσμα της ενέργειας, όχι την οδηγία: „Ανοίγει την οθόνη ρυθμίσεων" αντί για „Πατήστε για άνοιγμα".

Ομαδοποίηση και σειρά στοιχείων

Για σύνθετες οθόνες όπου η λογική ομάδα στοιχείων δεν αντιστοιχεί στην οπτική σειρά, χρησιμοποιείται το accessibilityElements — ένας πίνακας που καθορίζει τη σειρά ανάγνωσης. Για παράδειγμα, μια κάρτα προϊόντος περιέχει εικόνα, όνομα, τιμή και κουμπί „Στο καλάθι". Εάν αυτά τα στοιχεία είναι χαοτικά τοποθετημένα στην ιεραρχία προβολών, το accessibilityElements ορίζει τη σωστή σειρά για το VoiceOver.

swift
let productCard = UIView()
let productImage = UIImageView()
let productName = UILabel()
let productPrice = UILabel()
let addToCartButton = UIButton()

productCard.accessibilityElements = [
    productImage, productName, productPrice, addToCartButton
]

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

Ρύθμιση προσβασιμότητας για VoiceOver

Η σωστή ρύθμιση προσβασιμότητας για το VoiceOver απαιτεί προσοχή σε διάφορες πτυχές: σημασιολογική σήμανση, δυναμικές ενημερώσεις, χειρισμό προσαρμοσμένων στοιχείων και δοκιμή με πραγματικό screen reader.

Σημασιολογική σήμανση στο SwiftUI

Στο SwiftUI, η προσβασιμότητα ρυθμίζεται μέσω τροποποιητών .accessibilityLabel(), .accessibilityValue(), .accessibilityHint() και .accessibilityAddTraits(). Το SwiftUI κληρονομεί αυτόματα την προσβασιμότητα από τυπικά στοιχεία, αλλά για προσαρμοσμένα στοιχεία απαιτείται ρητή ρύθμιση. Για παράδειγμα, ένα προσαρμοσμένο ρυθμιστικό πρέπει να ενημερώνει το VoiceOver για την τιμή και τη μορφή αλλαγής του.

swift
Slider(value: $volume, in: 0...100)
    .accessibilityLabel("Ένταση ήχου")
    .accessibilityValue(
        Text("\(Int(volume)) τοις εκατό")
    )
    .accessibilityAddTraits(.adjustsAudioForAccessibility)
    .accessibilityAdjustableAction { direction in
        switch direction {
        case .increment: volume = min(volume + 5, 100)
        case .decrement: volume = max(volume - 5, 0)
        }
    }

Ο τροποποιητής accessibilityAdjustableAction προσθέτει τη δυνατότητα αλλαγής τιμής με χειρονομίες VoiceOver: σύρσιμο προς τα πάνω — αύξηση, σύρσιμο προς τα κάτω — μείωση. Χωρίς αυτόν τον τροποποιητή, το ρυθμιστικό παραμένει μη προσβάσιμο για έλεγχο μέσω screen reader. Ανάλογη ρύθμιση απαιτείται για προσαρμοσμένους steppers, pickers και άλλα στοιχεία που αλλάζουν την τιμή τους.

Δυναμικές ενημερώσεις και ειδοποιήσεις

Όταν το περιεχόμενο στην οθόνη αλλάζει δυναμικά (εμφανίστηκε ειδοποίηση, ενημερώθηκε η κατάσταση φόρτωσης, άλλαξε η τιμή), το VoiceOver πρέπει να λάβει ειδοποίηση μέσω UIAccessibility.post. Χωρίς αυτήν την κλήση, ο screen reader δεν θα μάθει για τις αλλαγές και ο χρήστης θα χάσει σημαντικές πληροφορίες. Για SwiftUI χρησιμοποιείται ο τροποποιητής .accessibilityAnnouncement().

swift
UIAccessibility.post(
    notification: .announcement,
    argument: "Η τιμή μειώθηκε κατά 20 τοις εκατό"
)

// SwiftUI
Text("Η τιμή ενημερώθηκε")
    .accessibilityAnnouncement(Text("Έκπτωση 20%"))

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

Η δοκιμή του VoiceOver πραγματοποιείται μέσω φυσικής συσκευής με ενεργοποιημένο screen reader ή προσομοιωτή iOS με την επιλογή Accessibility Inspector. Είναι σημαντικό να ελέγξετε πλήρη σενάρια χρήσης: χωρίς οπτικό έλεγχο να ολοκληρώσετε την εγγραφή, να τοποθετήσετε παραγγελία, να βρείτε προϊόν μέσω αναζήτησης. Εάν η διαδρομή είναι προσβάσιμη χωρίς οπτική ανάδραση — το VoiceOver έχει ρυθμιστεί σωστά.

Συχνές ερωτήσεις

Πώς ενεργοποιώ το VoiceOver στο iPhone;

Ρυθμίσεις → Προσβασιμότητα → VoiceOver. Ενεργοποιήστε το διακόπτη. Για γρήγορη ενεργοποίηση χρησιμοποιείται τριπλό πάτημα του πλευρικού κουμπιού (σε iPhone X και νεότερα) ή του κουμπιού Home. Η Siri μπορεί επίσης να ενεργοποιήσει το VoiceOver με την εντολή „Ενεργοποίησε το VoiceOver".

Σε τι διαφέρει το VoiceOver από το TalkBack;

VoiceOver — ο αναγνώστης οθόνης της Apple για iOS, TalkBack — ο αναγνώστης οθόνης της Google για Android. Η αρχή λειτουργίας είναι η ίδια: το άγγιγμα εκφωνεί, το διπλό άγγιγμα ενεργοποιεί. Η διαφορά έγκειται στις χειρονομίες, τις ρυθμίσεις περιστροφέα και τις ενσωματώσεις οικοσυστήματος: το VoiceOver είναι βαθύτερα ενσωματωμένο με iCloud και Apple Pay.

Πώς ρυθμίζω το VoiceOver για την εφαρμογή μου;

Χρησιμοποιήστε το API UIAccessibility: ορίστε accessibilityLabel για όλα τα στοιχεία, accessibilityTraits για τον τύπο στοιχείου και accessibilityHint για υποδείξεις. Στο SwiftUI εφαρμόστε τους τροποποιητές .accessibilityLabel() και .accessibilityAddTraits(). Δοκιμάστε την εφαρμογή με ενεργοποιημένο το VoiceOver.

Τι είναι ο περιστροφέας στο VoiceOver;

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

Γιατί το VoiceOver δεν διαβάζει το προσαρμοσμένο στοιχείο μου;

Για προσαρμοσμένα UIView πρέπει να ορίσετε isAccessibilityElement = true και να καθορίσετε accessibilityLabel. Εάν το στοιχείο αποτελείται από πολλές θυγατρικές προβολές, χρησιμοποιήστε το accessibilityElements για να ορίσετε τη σειρά ανάγνωσης ή συνδυάστε τα σε ένα κοντέινερ.

Σύνοψη

  • VoiceOver — ενσωματωμένος Apple screen reader για iOS, iPadOS και macOS με φωνητικό έλεγχο και χειρονομίες
  • Περιστροφέας αλλάζει λειτουργίες πλοήγησης: επικεφαλίδες, χαρακτήρες, λέξεις, σύνδεσμοι και προσαρμοσμένες λειτουργίες
  • Χειρονομίες VoiceOver: άγγιγμα — εκφώνηση, διπλό άγγιγμα — ενεργοποίηση, σύρσιμο — πλοήγηση
  • Ανάπτυξη μέσω API UIAccessibility: label, traits, hint, προσαρμοσμένος περιστροφέας και δυναμικές ειδοποιήσεις
  • SwiftUI παρέχει τροποποιητές .accessibilityLabel(), .accessibilityAddTraits() και .accessibilityAdjustableAction()
  • Δυναμικές ενημερώσεις απαιτούν κλήση UIAccessibility.post για ειδοποίηση του VoiceOver
  • Δοκιμή υποχρεωτικά σε πραγματική συσκευή με ενεργοποιημένο VoiceOver χωρίς οπτικό έλεγχο

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης