Μετάβαση στο περιεχόμενο
Πίσω στους οδηγούς
Οδηγός Τελευταίος έλεγχος: Οκτώβριος 2026 8 λεπτά ανάγνωσης

Προσβάσιμες φόρμες: ετικέτες, υποδείξεις, μηνύματα σφάλματος

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

Έξι κριτήρια επιτυχίας για φόρμες

Το WCAG 2.2 είναι η τρέχουσα Σύσταση του W3C για προσβάσιμο περιεχόμενο ιστού. Για τα κείμενα μιας φόρμας μετράνε περισσότερο έξι από τα κριτήρια επιτυχίας του:

  • 1.3.1 Πληροφορίες και σχέσεις (επίπεδο A): ό,τι δείχνει η διάταξη, όπως ποια ετικέτα ανήκει σε ποιο πεδίο, είναι διαθέσιμο και στον κώδικα ή σε κείμενο.
  • 1.3.5 Προσδιορισμός σκοπού εισόδου (επίπεδο AA): τα πεδία που ζητούν πληροφορίες για τον χρήστη, όπως όνομα ή email, δηλώνουν τον σκοπό τους στον κώδικα.
  • 3.3.1 Αναγνώριση σφάλματος (επίπεδο A): αν ένα σφάλμα εισόδου εντοπίζεται αυτόματα, το πεδίο κατονομάζεται και το σφάλμα περιγράφεται σε κείμενο.
  • 3.3.2 Ετικέτες ή οδηγίες (επίπεδο A): δίνονται ετικέτες ή οδηγίες όταν το περιεχόμενο απαιτεί εισαγωγή από τον χρήστη.
  • 3.3.3 Πρόταση για το σφάλμα (επίπεδο AA): αν εντοπιστεί σφάλμα και η διόρθωση είναι γνωστή, προτείνεται, εκτός αν αυτό θέτει σε κίνδυνο την ασφάλεια ή τον σκοπό του περιεχομένου.
  • 4.1.2 Όνομα, ρόλος, τιμή (επίπεδο A): κάθε στοιχείο ελέγχου έχει όνομα και ρόλο που μπορεί να διαβάσει το λογισμικό.
Μια φόρμα ιστού με ορατή ετικέτα πάνω από κάθε πεδίο. Το πρώτο πεδίο είναι σημειωμένο ως σωστό. Το δεύτερο έχει σήμα προειδοποίησης και επισημασμένο μήνυμα ακριβώς από κάτω. Πιο κάτω: μια ομάδα κουμπιών επιλογής σε πλαίσιο και ένα κουμπί αποστολής.
Η ετικέτα πάνω από το πεδίο, το μήνυμα ακριβώς από κάτω.

Κάθε πεδίο χρειάζεται ορατή ετικέτα

Η ετικέτα λέει τι μπαίνει στο πεδίο και μένει ορατή όσο ο χρήστης πληκτρολογεί. Στην HTML σύνδεσε το στοιχείο label με το πεδίο: το χαρακτηριστικό for της ετικέτας έχει ακριβώς την ίδια τιμή με το id του πεδίου. Έτσι οι αναγνώστες οθόνης διαβάζουν την ετικέτα μαζί με το πεδίο, και ένα κλικ στην ετικέτα βάζει τον κέρσορα στο πεδίο. Ένα κουμπί παίρνει την ετικέτα του από το κείμενό του, και το «Αποστολή μηνύματος» λέει περισσότερα από το «Υποβολή». Οι ετικέτες συνήθως βρίσκονται δεξιά από τα κουμπιά επιλογής και τα πλαίσια ελέγχου και αριστερά ή πάνω από τα άλλα πεδία· οι ετικέτες πάνω από τα πεδία χρειάζονται λιγότερο χώρο σε πλάτος.

Το placeholder δεν είναι ετικέτα

Το γκρι κείμενο μέσα σε ένα κενό πεδίο μοιάζει με ετικέτα, αλλά δεν είναι. Το W3C ονομάζει τα προβλήματα:

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

Χρησιμοποίησε το placeholder το πολύ για ένα παράδειγμα και βάλε κάθε σημαντική πληροφορία στην ετικέτα ή σε μια υπόδειξη.

Υποδείξεις και υποχρεωτικά πεδία

  • Βάλε τους κανόνες σε μια υπόδειξη: τη μορφή της ημερομηνίας, το μήκος ενός αριθμού πελάτη, τι χρειάζεται ένας κωδικός πρόσβασης. Στην HTML μπορείς να συνδέσεις την υπόδειξη με aria-describedby, ώστε οι αναγνώστες οθόνης να τη διαβάζουν μετά την ετικέτα.
  • Πες ποια πεδία είναι υποχρεωτικά και ποια προαιρετικά. Αν χρησιμοποιείς αστερίσκο, εξήγησέ τον μία φορά στην αρχή της φόρμας.
  • Βάλε τις οδηγίες για ολόκληρη τη φόρμα πριν από τη φόρμα, για παράδειγμα για ένα χρονικό όριο.
  • Κράτα τις υποδείξεις σύντομες. Πάρα πολλές οδηγίες κάνουν μια φόρμα πιο δύσκολη, όχι πιο εύκολη.

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

Τα κουμπιά επιλογής και τα πλαίσια ελέγχου που ανήκουν μαζί ομαδοποιούνται με το στοιχείο fieldset, και το στοιχείο legend ονομάζει την ομάδα, για παράδειγμα «Πώς να επικοινωνήσουμε μαζί σου;». Το W3C λέει ότι οι ομάδες κουμπιών επιλογής πρέπει πάντα να ομαδοποιούνται με αυτόν τον τρόπο. Κράτα το legend σύντομο, γιατί ορισμένοι αναγνώστες οθόνης το διαβάζουν σε κάθε πεδίο. Οι ομάδες βοηθούν και σε πεδία με την ίδια ετικέτα, όπως η οδός στη διεύθυνση αποστολής και στη διεύθυνση χρέωσης.

autocomplete: άφησε τον φυλλομετρητή να βοηθήσει

Για τα πεδία που ζητούν πληροφορίες για τον χρήστη, το 1.3.5 ζητά ο σκοπός τους να μπορεί να προσδιοριστεί στον κώδικα. Το WCAG 2.2 έχει μια λίστα με αυτούς τους σκοπούς, βασισμένη στην ενότητα autofill της προδιαγραφής HTML, όπως name, given-name, family-name, email, tel, street-address και postal-code. Στην HTML τους ορίζεις με το χαρακτηριστικό autocomplete, για παράδειγμα autocomplete="email". Οι φυλλομετρητές μπορούν τότε να συμπληρώνουν αποθηκευμένες τιμές, κάτι που γλιτώνει πληκτρολόγηση. Τα πεδία που δεν αφορούν τον χρήστη δεν χρειάζονται σκοπό.

Χρειάζεται το πεδίο τιμή autocomplete;
Ζητά το πεδίο πληροφορίες για το άτομο που συμπληρώνει τη φόρμα;
Ναι
Όρισε autocomplete με έναν σκοπό από τη λίστα του WCAG, για παράδειγμα name, email, tel ή postal-code.
Όχι
Δεν χρειάζεται σκοπός εισόδου, για παράδειγμα για ένα μήνυμα, έναν όρο αναζήτησης ή έναν κωδικό κουπονιού.
Το 1.3.5 καλύπτει μόνο πεδία που ζητούν πληροφορίες για τον χρήστη.

Μηνύματα σφάλματος που βοηθούν

Ένα μήνυμα σφάλματος έχει τρεις δουλειές: να κατονομάζει το πεδίο, να λέει τι είναι λάθος και να λέει πώς διορθώνεται. Το 3.3.1 ζητά τα δύο πρώτα, σε κείμενο, οπότε ένα κόκκινο περίγραμμα ή ένα εικονίδιο μόνο του δεν αρκεί. Το 3.3.3 ζητά τη διόρθωση, όπου είναι γνωστή.

Ασαφή και σαφή μηνύματα σφάλματος
Ασαφές
  • Μη έγκυρη εισαγωγή
  • Σφάλμα
  • Υποχρεωτικό πεδίο
  • Λάθος μορφή
  • Κάτι πήγε στραβά
Σαφές
  • Διεύθυνση email: πρόσθεσε το σύμβολο @, για παράδειγμα name@example.com
  • Ταχυδρομικός κώδικας: γράψε 5 ψηφία
  • Επώνυμο: γράψε το επώνυμό σου
  • Ημερομηνία γέννησης: γράψε ημέρα, μήνα και έτος με αριθμούς
  • Η φόρμα δεν στάλθηκε. Τα στοιχεία σου έχουν αποθηκευτεί. Δοκίμασε ξανά σε λίγα λεπτά.
Ένα σαφές μήνυμα κατονομάζει το πεδίο, λέει τι είναι λάθος και πώς διορθώνεται.
  • Δείξε το μήνυμα δίπλα στο πεδίο και σύνδεσέ το με aria-describedby, ώστε οι αναγνώστες οθόνης να το διαβάζουν μαζί με το πεδίο.
  • Μετά την αποστολή, δείξε μια λίστα με όλα τα σφάλματα στην κορυφή, πριν από τη φόρμα, κάτω από μια σαφή επικεφαλίδα. Κάθε καταχώριση κατονομάζει το πεδίο, το πρόβλημα και τη διόρθωση, και οδηγεί με σύνδεσμο στο πεδίο.
  • Ενημέρωσε και τον τίτλο της σελίδας, για παράδειγμα «2 σφάλματα – Φόρμα επικοινωνίας», και μετακίνησε την εστίαση στο πρώτο πεδίο με σφάλμα.
  • Κράτα ό,τι έχει ήδη συμπληρώσει ο χρήστης. Αυτή είναι δική μας συμβουλή, όχι κανόνας του WCAG: αν πρέπει να τα ξαναγράψει όλα μετά από ένα λάθος, ο κόσμος τα παρατάει.
Ο δρόμος πίσω από ένα σφάλμα
Αποστολή
Ο χρήστης στέλνει τη φόρμα
Έλεγχος
Η φόρμα βρίσκει ένα κενό ή λάθος πεδίο
Σύνοψη
Η επικεφαλίδα και ο τίτλος της σελίδας δίνουν τον αριθμό των σφαλμάτων
Λίστα σφαλμάτων
Κάθε καταχώριση κατονομάζει πεδίο, πρόβλημα και διόρθωση, και οδηγεί στο πεδίο
Μήνυμα στο πεδίο
Συνδεδεμένο με aria-describedby, τα στοιχεία διατηρούνται
Διόρθωση και νέα αποστολή
Μια σαφής επιβεβαίωση ότι η φόρμα στάλθηκε
Μετά από μια αποτυχημένη αποστολή, ο δρόμος από το μήνυμα ως τη διόρθωση πρέπει να είναι όσο πιο σύντομος γίνεται.

Έλεγξε τη φόρμα σου με το Do4U

Το εργαλείο Κείμενα φορμών ελέγχει τα κείμενα μιας φόρμας ιστού. Επικολλάς την HTML της φόρμας ή δίνεις τη διεύθυνση ιστού της σελίδας, και μπορείς να προσθέσεις τα μηνύματα σφάλματος που δείχνει η φόρμα σου. Ο κώδικας διαβάζει κάθε πεδίο: την ετικέτα του και από πού προέρχεται, υποδείξεις, placeholders, υποχρεωτικά πεδία, τιμές autocomplete και ομάδες κουμπιών επιλογής ή πλαισίων ελέγχου. Βρίσκει προβλήματα όπως πεδίο χωρίς ετικέτα, placeholder ως μοναδική ετικέτα, υποχρεωτικά πεδία που δεν αναφέρει το κείμενο, τιμές autocomplete που λείπουν και αόριστα μηνύματα σφάλματος, το καθένα με το κριτήριο επιτυχίας του. Η ΤΝ προτείνει μια σαφή ετικέτα, μια σύντομη υπόδειξη και ένα μήνυμα σφάλματος που κατονομάζει το πεδίο και λέει πώς διορθώνεται η εισαγωγή. Ο κώδικας ελέγχει κάθε πρόταση και φτιάχνει από τη φόρμα σου ένα βελτιωμένο προσχέδιο HTML.

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

Πηγές