Έργο χρηστικότητας του GNOME
2002-2011 Calum Benson, Adam Elman, Seth Nickell, colin z robertson
2010 Μάριος Ζηντίλης (m.zindilis@dmajor.org)
2010.Γιάννης Κατσαμπίρης (juankatsampirhs@gmail.com)
2010 Βασίλης Τσιβίκης (undersec.tr3los@gmail.com)
2011-03-21
2.2.2

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

Επιτρέπεται η αντιγραφή, η διανομή και/ή τροποποίηση αυτού του εγγράφου υπό τους όρους της Ελεύθερης άδειας τεκμηρίωσης GNU, στην έκδοση 1.1 της άδειας ή σε οποιαδήποτε μεταγενέστερη, όπως αυτή δημοσιεύεται από το Ίδρυμα Ελεύθερου Λογισμικού και χωρίς Αμετάβλητα τμήματα, χωρίς Κείμενα εξωφύλλου ή Οπισθοφύλλου. Μπορείτε να λάβετε ένα αντίγραφο της Ελεύθερης άδειας τεκμηρίωσης GNU από το Ίδρυμα Ελεύθερου Λογισμικού επισκεπτόμενοι τον ιστότοπό τους ή γράφοντας στο: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

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

# GNOME Human Interface Guidelines 2.2.2

## Τι νέο υπάρχει;

Σ' αυτή την ενότητα επισημαίνονται πρόσφατες αλλαγές στις ΟΑΔ που μπορεί να επηρεάζουν την εφαρμογή σας.

The following changes were made in HIG v2.2.2:

- Addition of regarding relevance of this guide to GNOME 3.

Οι ακόλουθες αλλαγές έγιναν στις ΟΑΔ, στην έκδοση 2.2.1:

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

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

Στις ΟΑΔ, έκδοση 2.0 προστέθηκαν οι εξής ενότητες:

Νέες ή αναθεωρημένες οδηγίες προστέθηκαν σε αυτές τις ενότητες στις ΟΑΔ, έκδοση 2.0:

Οι ακόλουθες αλλαγές στην ορολογία εισήχθηκαν στις ΟΑΔ, έκδοση 2.0:

- Τα «μενού επιλογών» πλέον ονομάζονται «αναδιπλούμενες λίστες»

- Τα «κουτιά συνδυασμών» πλέον ονομάζονται «αναδιπλούμενα κουτιά συνδυασμών»

## Εισαγωγή

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

Αυτές οι κατευθυντήριες γραμμές σκοπεύουν να σας βοηθήσουν να σχεδιάσετε και να γράψετε εφαρμογές εύχρηστες και συνεπείς με την επιφάνεια εργασίας του GNOME. Έχετε πολλά να κερδίσετε αν ακολουθήσετε αυτές τις συμβουλές:

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

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

- Η εφαρμογή σας θα έχει μια ελκυστική εμφάνιση που θα ταιριάζει με την υπόλοιπη επιφάνεια εργασίας.

- Η εφαρμογή σας θα συνεχίζει να φαίνεται ωραία όταν οι χρήστες αλλάζουν θέματα επιφάνειας εργασίας, γραμματοσειρές και χρώματα.

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

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

Οι συστάσεις εδώ βασίζονται σε πτυχές σχεδιασμού που έχουν δουλέψει καλά σε άλλα συστήματα, περιλαμβανομένων των Mac OS, Windows, Java και KDE. Ταυτόχρονα διατηρούν μία μοναδική πινελιά GNOME.

Να θυμάστε...

Το να ακολουθήσετε αυτές τις οδηγίες θα κάνει το έργο σας ευκολότερο, όχι δυσκολότερο!

## Applicability to GNOME 3

This version of the Human Interface Guidelines was written for designers and developers of GNOME 2 applications. This focus is reflected in the advice offered, and in the accompanying illustrations.

Since many of them apply equally to GNOME 3, however, you can and should continue to follow the majority of these usability principles and guidelines in your GNOME 3 application.

An updated Human Interface Guidelines document focusing on GNOME 3 will be released in due course. In the meantime, you can find some specific GNOME 3 guidelines on the GNOME Shell Guidelines wiki page.

The GNOME Usability Project, March 2011

## Αρχές χρηστικότητας

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

### Σχεδιάστε για ανθρώπους

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

1. ποιοι είναι οι χρήστες σας

2. τι θέλετε να τους επιτρέπετε να κάνουν

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

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

### Μην περιορίζετε τη βάση χρηστών σας

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

#### Προσιτότητα

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

- Χρήστες με αχρωματοψία ενδέχεται να μη μπορούν να χρησιμοποιήσουν την εφαρμογή σας αν βασίζεται μόνο σε χρώματα για να διακρίνει διαφορετικούς τύπους πληροφορίας.

- Χρήστες με προβλήματα ακοής μπορεί να μη μπορούν να χρησιμοποιήσουν την εφαρμογή σας αν αυτή βασίζεται σε ήχους για να επισημάνει κρίσιμες πληροφορίες

- Χρήστες με περιορισμένη κινητικότητα μπορεί να μην μπορούν να χρησιμοποιήσουν την εφαρμογή σας αν δεν παρέχετε αντίστοιχους τρόπους για να εκτελεστούν οι εντολές από το πληκτρολόγιο

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

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

#### Διεθνοποίηση και τοπικοποίηση

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

Το GNOME έχει εξαιρετική στήριξη τόσο για την διεθνοποίηση (επίσης αναφέρεται και ως i18n) όσο και την τοπικοποίηση (επίσης αναφέρεται και ως i10n). Στις περισσότερες περιπτώσεις, απλά χρησιμοποιώντας βασικά GNOME APIs για την εμφάνιση κειμένων και μηνυμάτων επιτρέπεται σε εσάς ή τους άλλους να τοπικοποιήσετε την εφαρμογή σας για άλλες περιοχές. Για περισσότερες πληροφορίες στο πώς να τοπικοποιήσετε την εφαρμογή σας, δείτε την αρχική σελίδα του Pango project (Το Pango είναι ο κατάλογος του GNOME για την ερμηνεία κειμένου διεθνοποίησης),την σελίδα μεταφράσεων GNOME, και την σελίδα του μεταφραστικού έργου GNOME.

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

Κάποια παραδείγματα στοιχείων που είναι καλύτερα να αποφεύγονται για αυτούς του λόγους είναι:

- Εικόνες σημαιών ή χρημάτων

- Χάρτες που εμφανίζουν πολιτικά όρια ή αμφισβητούμενες ονομασίες περιοχών

- Λίστες χωρών ή πόλεων σε μη-αλφαβητική σειρά (εκτός αν χρειάζεται ή απαιτείται ειδικά από τα συμφραζόμενα)

- Εικονίδια που απεικονίζουν ζώα

- Εικονίδια που απεικονίζουν μόνο χέρια ή πόδια

### Συνδέστε την εφαρμογή σας με τον πραγματικό κόσμο

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

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

- η εικόνα ενός φακέλου υπαινίσσεται έναν περιέκτη μέσα στον οποίο μπορούν να τοποθετηθούν έγγραφα

- ένας κάδος αχρήστων υπαινίσσεται έναν περιέκτη μέσα στον οποίο μπορούν να τοποθετηθούν αντικείμενα που δεν είναι πλέον χρήσιμα

Όταν χρησιμοποιείτε μεταφορές όμως, είναι σημαντικό να μην πάρετε τη μεταφορά κυριολεκτικά αλλά ούτε και να την επεκτείνετε πέρα από τη λογική της χρήση. Για παράδειγμα, η χωρητικότητα ενός φακέλου αρχείων δεν πρέπει να περιορίζεται σε εκείνην ενός πραγματικού φακέλου αρχείων, ο οποίος θα μπορούσε να περιέχει μόνο μερικά έγγραφα προτού γίνει δύσχρηστος. Από την άλλη, ένας κάδος αχρήστων δεν μπορεί παρά να περιέχει απορριπτέα αρχεία. Η εικόνα του δε θα πρέπει να χρησιμοποιείται, για παράδειγμα, για την εξαγωγή ενός αφαιρούμενου μέσου όπως μια δισκέτα ή ένα CD.

### Κάντε την εφαρμογή σας συνεπή

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

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

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

### Κρατήστε το χρήστη ενημερωμένο

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

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

Δείτε τις και για περισσότερες πληροφορίες πάνω στην ανάδραση.

### Απλά και όμορφα

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

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

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

### Δώστε τον έλεγχο στο χρήστη

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

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

### Να συγχωρείτε τον χρήστη

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

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

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

### Παρέχετε άμεσους χειρισμούς

Όπου είναι δυνατόν, επιτρέψτε στους χρήστες να ενεργούν άμεσα πάνω σε αντικείμενα και δεδομένα, αντί μέσω διαλόγων και ρητών εντολών. Για παράδειγμα, είναι πιο φυσιολογικό να σύρεται ένα κυκλικό αντικείμενο πάνω σε ένα διάγραμμα παρά να επιλέγεται μια εντολή «Μετακίνηση» από ένα μενού, ενώ ο κύκλος είναι επιλεγμένος. Παρομοίως, σε μια εφαρμογή ηλεκτρονικής αλληλογραφίας, επιτρέψτε στο χρήστη αν θέλει να επισυνάπτει αρχεία σέρνοντάς τα από το διαχειριστή αρχείων και αποθέτοντάς τα μέσα στη σύνταξη μηνύματος.

Δείτε την για περισσότερες λεπτομέρειες πάνω στους άμεσους χειρισμούς.

## Ενσωμάτωση στην επιφάνεια εργασίας

Υπάρχουν δύο στοιχεία στην βασική ολοκλήρωση με το περιβάλλον χρήστη της επιφάνειας εργασίας GNOME,

1. Να τοποθετείτε μια καταχώρηση για την εφαρμογή σας στο μενού Εφαρμογές. Αυτός είναι ο πρωτεύων μηχανισμός με τον οποίο οι χρήστες ανακαλύπτουν και εκτελούν εφαρμογές.

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

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

### Τοποθέτηση εγγραφών στο μενού Εφαρμογές

Το μενού Εφαρμογές

Στιγμιότυπο οθόνης του μενού των ανοιχτών Εφαρμογών στο πάνελ με το μενού GNOME

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

Το μενού είναι διατεταγμένο σε μία συλλογή κατηγοριών, όπως είναι τα Βοηθήματα και τα Παιχνίδια. Οι εφαρμογές τοποθετούνται σε συγκεκριμένες κατηγορίες από την συλλογή λέξεων κλειδιών που περιέχονται στο δικό τους αρχείο `.desktop`.

Κατευθυντήριες γραμμές

- Αναθέστε την εφαρμογή σας σε μόνο μία κατηγορία στο μενού Εφαρμογές

- Για σουίτες εφαρμογών που συνδέουν έναν αριθμό από μικρότερες υπό-εφαρμογές σε ένα ενιαίο παράθυρο, όπως για παράδειγμα το Evolution ή το OpenOffice.org, προσθέστε ένα αντικείμενο μενού για κάθε υπό-εφαρμογή. Για παράδειγμα, το mail, το ημερολόγιο, και η λίστα εργασιών στο Evolution θα πρέπει το καθένα να έχει το δικό του αντικείμενο μενού.

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

#### Στοιχείο μενού για ονόματα

##### Να συμπεριλαμβάνετε μία λειτουργική περιγραφή στο όνομα του μενού

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

Για παράδειγμα, Η έρευνα χρηστών του συστήματος MIT's Athena αποκάλυψε ότι οι χρήστες είχαν δυσκολία στην εύρεση του διαχειριστή αρχείων διότι δεν γνώριζαν το όνομα "Nautilus". Επειδή οι χρήστες δεν συσχέτιζαν την ονομασία "Nautilus" με το σχέδιο "διαχειριστής αρχείων" το αντικείμενο μενού δεν τους βοήθησε. Αυτό είναι ένα παράδειγμα για όταν δεν χρησιμοποιείτε την γλώσσα του χρήστη. Δείτε το για περισσότερα πάνω στο θέμα.

Να περιλαμβάνεται λειτουργική περιγραφή σε ονόματα μενού

Αρχικό στοιχείο μενού | Αναθεωρημένο στοιχείο μενού
--- | ---
Epiphany | Περιηγητής διαδικτύου Epiphany

##### Να περιλαμβάνονται μόνο χρήσιμες πληροφορίες στο όνομα του μενού

Μην συμπεριλαμβάνετε λέξεις όπως "GNOME", "X Window System", "GTK+" ή άλλες πληροφορίες από πλατφόρμες στις ονομασίες του μενού Εφαρμογές. Οι χρήστες πιθανότατα γνωρίζουν ήδη τι πλατφόρμα χρησιμοποιούν, και αν όχι, η ονομασίες των εφαρμογών δεν είναι το σωστό μέρος για να τους πληροφορήστε.

Αφαίρεση των μη ουσιωδών πληροφοριών από την ονομασία του μενού

Αρχικό στοιχείο μενού | Αναθεωρημένο στοιχείο μενού
--- | ---
Εφαρμογή προβολής εικόνων του GNOME | Εφαρμογή προβολής εικόνων
Επεξεργαστής Blog GTK | Επεξεργαστής Blog

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

For example, when both a client and a server for something are listed in the menus, remove the word "Client" from the menu name for the client.

Αφαίρεση τεχνικής φρασεολογίας από την ονομασία στο μενού

Αρχικό στοιχείο μενού | Αναθεωρημένο στοιχείο μενού
--- | ---
Πελάτης Gnome Batalla Naval | Batalla Naval
Διακομιστής Gnome Batalla Naval | Διακομιστής Batalla Naval Multiplayer
Πελάτης Gnome VideoLAN | Εφαρμογή αναπαραγωγής ταινιών VideoLan

Παρέχονται οι σωστές πληροφορίες

Προσπαθήστε να φανταστείτε τι λέξεις θα αναζητάνε οι χρήστες όταν επιλέγουν την εφαρμογή σας από το μενού Εφαρμογές. Αυτές είναι οι πληροφορίες που θα έπρεπε να είναι στην ονομασία του μενού. Για παράδειγμα, ένας χρήστης που θέλει να αναπαράγει μία ταινία πιθανότατα θα ψάξει για την λέξη "Client". Από την άλλη, ένας χρήστης που θέλει να μεταδώσει ταινίες από τον υπολογιστή του μπορεί να ψάξει για την λέξη "Server". Αποφύγετε να σκέφτεστε το μενού των εφαρμογών ως μία οντότητα.

##### Μορφές ονομασιών μενού

1. Αν η κατάλληλη ονομασία της εφαρμογής σας περιγράφει ήδη την λειτουργικότητα της, και δεν είναι απλά αναφορική, χρησιμοποιήστε την μορφή: Ονομασία εφαρμογής

   Χρησιμοποίηση της ονομασίας της εφαρμογής ως ονομασία του μενού

   Όνομα εφαρμογής | Όνομα μενού
   --- | ---
   Λεξικό | Λεξικό
   Εργαλείο αναζήτησης | Εργαλείο αναζήτησης

2. Αν υπάρχει μία συνοπτική περιγραφή της λειτουργικότητας της εφαρμογής σας, χρησιμοποιήστε την μορφή: ΟνομασίαΕφαρμογής ΠεριγραφήΛειτουργικότητας

   Χρησιμοποίηση λειτουργικής περιγραφής στις ονομασίες του μενού

   Όνομα εφαρμογής | Όνομα αντικειμένου μενού
   --- | ---
   Το GIMP | Εφαρμογή επεξεργασίας εικόνας GIMP
   υπό-εφαρμογή Evolution email | Evolution Email
   AbiWord | Εφαρμογή επεξεργασίας λέξεων AbiWord
   Galeon | Περιηγητής διαδικτύου Galeon
   Gramps | Gramps Genealogy
   AisleRiot | πασιέντζα AisleRiot

3. Μερικές εφαρμογές, συγκεκριμένα τα παιχνίδια, δεν έχουν κατάλληλες περιγραφές λειτουργικότητας (αλλά σημειώστε ότι πολλά παιχνίδια έχουν). Σε αυτή τη περίπτωση, χρησιμοποιήστε την Ονομασία εφαρμογής ως ονομασία μενού.

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

   Όνομα εφαρμογής | Όνομα αντικειμένου μενού
   --- | ---
   Bomber Maze | Bomber Maze

#### Βοηθήματα αντικείμενου μενού

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

Να παρέχετε ένα βοήθημα για κάθε αντικείμενο μενού Εφαρμογή που προσθέτετε, ακολουθώντας αυτά τα κατευθυντήρια βήματα:

Κατευθυντήριες γραμμές

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

- Περιγράψτε τις πιο σημαντικές εργασίες που μπορούν να επιτύχουν οι χρήστες με την εφαρμογή σας.

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

Παραδείγματα βοηθημάτων για τις εφαρμογές GNOME

Εφαρμογή | Βοήθημα αντικείμενου μενού
--- | ---
Πίνακας Χαρακτήρων | Εισάγετε ειδικούς χαρακτήρες στα έγγραφα
Memprof | Ελέγξτε τις εφαρμογές σας για διαρροές μνήμης
Ίδιο GNOME | Τακτοποιήστε μακριές αλυσίδες παρόμοιων χρωμάτων από μπάλες για να τις εξαλείψετε
Πελάτης Gnome Batalla Naval | Βρείτε και βυθίστε πλοία εχθρών σε αυτή τη δικτυωμένη έκδοση του Battleship

### Κλειδιά στο GConf

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

Κατευθυντήριες γραμμές

- Οι Σύντομες περιγραφές πρέπει να είναι σύντομες, κάτω από 8 λέξεις και να περιγράφουν το σκοπό του κλειδιού

- Οι Εκτενείς περιγραφές πρέπει να είναι πλήρεις στην περιγραφή των πιθανών τιμών του κλειδιού και της επιρροής που έχουν εκείνες οι τιμές στην εφαρμογή

Παραδείγματα περιγραφών των κλειδιών του GConf από το gnome-terminal

Κλειδί | Σύντομη περιγραφή | Εκτενής περιγραφή
--- | --- | ---
background_type | Τύπος παρασκηνίου | Ο τύπος του παρασκηνίου του τερματικού. Μπορεί να είναι «συμπαγές» για ένα συμπαγές χρώμα, «εικόνα» για μια εικόνα, ή «διαφανές» για μια ψευδο-διαφάνεια.
delete_binding | Αποτέλεσμα του πλήκτρου Delete | Ορίζει τι κώδικα θα παράγει το πλήκτρο delete. Πιθανές τιμές είναι «ascii-del» για το χαρακτήρα ASCII-DEL, «control-h» για το Control-H (άλλως το χαρακτήρα ASCII BS), «escape-sequence» για την ακολουθία διαφυγής η οποία τυπικά συνδέεται με τα πλήκτρα backspace ή delete. Το «escape-sequence» θεωρείται συνήθως η σωστή ρύθμιση για το πλήκτρο Delete.

### Αντιστοίχιση τύπων εγγράφων με εφαρμογές

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

It is important for users to be able to double-click on documents they see on the desktop, such as files and email messages, and have them launch in their favorite application. Therefore, your GNOME application should associate itself at install-time with all the document types it can handle. Technical details on doing this can be found in the Freedesktop Shared MIME Info Specification and Desktop Entry Specification.

### Χρήσημοποιώντας της περιοχής ειδοποιήσεων κατάστασης

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

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

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

#### Περιοχή ειδοποιήσεων ή Μικροεφαρμογή πάνελ

Πιθανότατα θα πρέπει να γράψετε μία μικροεφαρμογή αντί για την χρησιμοποίηση της περιοχής ειδοποιήσεων εάν:

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

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

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

#### Εμφάνιση εικονιδίου

Κατευθυντήριες γραμμές

- Χρησιμοποιήστε την προοπτική πίνακα για εικονίδια που εκπροσωπούν φυσικές συσκευές, με την φωτεινή πηγή από επάνω και στα αριστερά της προοπτικής του αντικειμένου. Για παράδειγμα, ένα εικονίδιο εκτυπωτή κατά την διάρκεια της εκτύπωσης. Δείτε για περισσότερα στην προοπτική πίνακα.

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

- Για τις οθόνες ή τις μπάρες προόδου που αλλάζουν με την πάροδο του χρόνου, όπως η οθόνη φόρτισης μπαταρίας, καθορίστε σαφέστατα τα όρια της περιοχής.

Κατευθυντήριες γραμμές

- Μόνο τα βασικά προγράμματα GNOME μπορούν να εμφανίζουν ένα εικονίδιο στην περιοχή κατάστασης διαρκώς.

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

#### Κινούμενες εικόνες

Κατευθυντήριες γραμμές

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

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

- Μην στηρίζεστε στα εικονίδια που αναβοσβήνουν ή στις κινούμενες εικόνες ως ένα τρόπο ειδοποίησης του χρήστη για οποιοδήποτε ιδιαίτερο γεγονός.

#### Αλληλεπίδραση

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

Κατευθυντήριες γραμμές

- Το διπλό κλικ ή το πλήκτρο Διάστημα θα πρέπει να εκτελούν την προεπιλεγμένη λειτουργία του εικονιδίου. Κανονικά αυτό θα πρέπει να ανοίγει ένα παράθυρο με τα σχετικά δεδομένα, παραδείγματος χάριν:

  - η σειρά εκτύπωσης για ένα εικονίδιο εκτύπωσης σε εξέλιξη

  - τα εισερχόμενα για ένα εικονίδιο εισερχόμενου ηλεκτρονικού μηνύματος

  - το μήνυμα για ένα εισερχόμενο μήνυμα

- Το δεξί κλικ ή Shift F10 θα πρέπει να παρουσιάζει ένα μενού για το εικονίδιο που να περιέχει τουλάχιστον την προεπιλεγμένη λειτουργία του εικονιδίου.

- Αν οι ιδιότητες του εικονιδίου μπορούν να αλλάξουν θα πρέπει να έχει ένα αντικείμενο μενού Ιδιότητες στο μενού του, και να εμφανίζει τον πίνακα ιδιοτήτων ανταποκρινόμενο στο Alt+Enter.

- Τα εικονίδια θα πρέπει να υπακούουν σε τυπικές συμβάσεις συμβουλών οθόνης.

## Παράθυρα

### Μέρη των παραθύρων και αλληλεπίδραση με το σύστημα

#### Τίτλοι

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

Παράδειγμα ενός τίτλου παραθύρου

Στιγμιότυπο οθόνης που εμφανίζει μια γραμμή τίτλου παραθύρου με τίτλο «Μέρη της αλληλεπίδρασης παραθύρων και συστήματος - Mozilla Firefox»

Δείτε την περιγραφή κάθε ενός τύπου παραθύρου για μορφές τίτλων.

#### Σύνορα και εντολές παραθύρων

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

Διαφορετικές εντολές παραθύρων είναι κατάλληλες για διαφορετικούς τύπους παραθύρων. Δείτε την περιγραφή καθενός τύπου παραθύρου για μια λίστα με τις κατάλληλες εντολές παραθύρων. Αυτές είναι οι πιθανές εντολές παραθύρων:

- Κλείσιμο

  Κλείνει το παράθυρο. Πάντα να τη σχεδιάσετε σαν κουμπί στο περίγραμμα του παραθύρου όταν είναι σχετική με τον τύπο του παραθύρου.

- Μεγιστοποίηση

  Κάνει το παράθυρο να χρησιμοποιήσει όλο τον χώρο της οθόνης που δεν χρησιμοποιείται.

- Ελαχιστοποίηση

  Προκαλεί την προσωρινή απόκρυψη του παραθύρου. Θα συνεχίσει να εμφανίζεται στη λίστα παραθύρων της επιφάνειας εργασίας.

- Τύλιγμα/Ξετύλιγμα

  Εμφανίζει μόνο τη γραμμή τίτλου του παραθύρου, ενώ αυτό έχει "ξετυλιχθεί".

#### Τυπικότητα

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

Ένα application modal παράθυρο, ενόσω είναι ανοιχτό, εμποδίζει το χρήστη να αλληλεπιδράσει με άλλα παράθυρα στην ίδια εφαρμογή.

Ένα system modal παράθυρο, ενόσω είναι ανοιχτό, εμποδίζει το χρήστη να αλληλεπιδράσει με οποιοδήποτε άλλο παράθυρο σε οποιαδήποτε εφαρμογή, της ίδιας της επιφάνειας εργασίας συμπεριλαμβανομένης.

Κατευθυντήριες γραμμές

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

- Μην χρησιμοποιείτε παράθυρα μοντάλ συστήματος.

#### Εστίαση

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

Βεβαιωθείτε ότι η εφαρμογή σας λειτουργεί σωστά με τους τρεις διαφορετικούς μηχανισμούς με τους οποίους γίνεται η εστίαση στα παράθυρα στο GNOME:

- Κλικ για εστίαση

  Ένα παράθυρο εστιάζεται κάνοντας κλικ μέσα του.

- Κίνηση για εστίαση

  Ένα παράθυρο εστιάζεται με μετακίνηση του δείκτη του ποντικιού μέσα σε αυτό. Μερικές φορές είναι γνωστό ως «τσαπατσούλικη εστίαση».

- Εστίαση πληκοτρολογίου

  Ένα παράθυρο εστιάζεται χρησιμοποιώντας μία συντόμευση πληκτρολογίου όπως το Alt Tab.

Ειδικοί περιορισμοί για το σημείο εστίασης

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

#### Εμφάνιση και απόκρυψη παραθύρων

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

Κατευθυντήριες γραμμές

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

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

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

### Πρωτεύον παράθυρο

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

Ένα πρωτεύον παράθυρο εμφανίζεται πάντα στη λίστα παραθύρων του πίνακα εφαρμογών.

Ένα τυπικό πρωτεύον παράθυρο (gedit)

Ένα τυπικό πρωτεύον παράθυρο: η προβολή του εγγράφου gedit

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

#### Τίτλος

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

Κατευθυντήριες γραμμές

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

  Χρήση ονομάτων εγγράφων ως τίτλους παραθύρων

  Εφαρμογή | Παράδειγμα τίτλου παραθύρου
  --- | ---
  AbiWord | My Report.abw
  Evolution | Εισερχόμενα
  Αναπαραγωγή μουσικής | U2 - Better Than the Real Thing

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

- Πριν ένα νέο έγγραφο αποθηκευτεί για πρώτη φορά, ορίστε τον τίτλο παραθύρου σε Μη αποθηκευμένο <document type>. Για παράδειγμα, Μη αποθηκευμένο σχέδιο, Μη αποθηκευμένο υπολογιστικό φύλλο, ή το πιο γενικό Μη αποθηκευμένο έγγραφο.

- Όταν υπάρχουν αλλαγές που εκκρεμούν για ένα έγγραφο, εισάγετε έναν αστερίσκο (*) στην αρχή του τίτλου του παραθύρου. Για παράδειγμα, *Μη αποθηκευμένο σχέδιο, *Ετήσια αναφορά.

- Για εφαρμογές που δεν βασίζονται σε έγγραφα, χρησιμοποιήστε ως όνομα παραθύρου το Όνομα εφαρμοφγής.

  Χρήση ονομάτων εφαρμογών ως τίτλους παραθύρων

  Εφαρμογή | Τίτλος παραθύρου
  --- | ---
  Λεξικό | Λεξικό
  Αριθμομηχανή | Αριθμομηχανή

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

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

Συνίσταται να μην περιλαμβάνεται το όνομα της εφαρμογής στον τίτλο μιας εφαρμογής εγγράφων.

Σκεφτείτε να ονομάζετε τα παράθυρα σύμφωνα με τη στήλη της λίστας παραθύρων. Σε μια τυπική οθόνη με ένα σχετικά μικρό αριθμό παραθύρων ανοιχτό, ένα παράθυρο θα έχει 20-30 χαρακτήρες κειμένου και ένα εικονίδιο. Σκεφτείτε ποιο κείμενο θα παρέχει τα πιο εμφανή στοιχεία σε ένα χρήστη που ψάχνει για ένα συγκεκριμένο.

#### Εντολές παραθύρων

Κλείσιμο, Μεγιστοποίηση/Επαναφορά, Ελαχιστοποίηση, Τύλιγμα/Ξετύλιγμα

#### Σχέση μεταξύ εγγράφων και παραθύρων

##### Απλή διεπαφή εγγράφου (SDI)

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

Μία τυπική εφαρμογή SDI (Μάτι του GNOME)

Μία τυπική εφαρμογή SDI: Μάτι του GNOME που χρησιμοποιείται για την επιθεώρηση ενός εικονιδίου

##### Πολλαπλή εφαρμογή εγγράφου (MDI)

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

Μία τυπική εφαρμογή MDI (gedit) που εμφανίζει τρία ανοικτά έγγραφα στις σελίδες της καρτέλας

Μία τυπική εφαρμογή MDI: gedit που εμφανίζει τρία ανοικτά έγγραφα στο ίδιο παράθυρο

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

##### Ελεγχόμενη διεπαφή απλού εγγράφου (CSDI)

Σε μια τυπική εφαρμογή SDI, τα παράθυρα των εγγράφων αντιμετωπίζονται ως πρωτεύοντα. Για παράδειγμα, όταν κλείσουν όλα τα παράθυρα εγγράφων, η εφαρμογή τερματίζει επίσης (μαζί με τα βοηθητικά παράθυρα). Στο CSDI ένα βοηθητικό παράθυρο αντιμετωπίζεται ως το πρωτεύον παράθυρο. Παραδείγματος χάριν, το κλείσιμο αυτού του βοηθητικού παραθύρου θα κλείσει όλα τα παράθυρα εγγράφων και θα τερματίσει την εφαρμογή.

Η χρήση του CSDI δεν συνίσταται.

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

Θα έπρεπει να έχουμε πραγματικά έναν τρόπο για την αυτόματη υπερχείλιση στο GTK+.

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

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

### Βοηθητικά παράθυρα

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

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

#### Άμεση εφαρμογή παραθύρων

Για παράθυρα που επιτρέπουν στο χρήστη να αλλάξει τιμές ή ρυθμίσεις, όπως τα παράθυρα ιδιοτήτων και προτιμήσεων, ενημερώστε αυτές τις τιμές ή ρυθμίσεις αμέσως για να αντικατοπτρίζουν τις αλλαγές που έγιναν στο παράθυρο. Αυτό είναι γνωστό ως «άμεση εφαρμογή». Μην κάνετε το χρήστη να πατάει ένα κουμπί OK ή Εφαρμογή για να γίνουν οι αλλαγές, εκτός αν:

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

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

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

FIXME: screenshot of such a window here

Κατευθυντήριες γραμμές

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

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

Πρέπει εδώ να προτείνουμε τι να γίνει, αντί απλώς να λέμε τι δεν πρέπει να γίνει.

#### Σαφής εφαρμογή παραθύρων

Αν τα περισσότερα από τα πεδία ελέγχου στο παράθυρό σας δεν είναι κατάλληλα για άμεση εφαρμογή, σκεφτείτε να κάνετε όλο το παράθυρο «επιβεβαίωσης εφαρμογής». Ένα τέτοιο παράθυρο έχει τρία κουμπιά στο χώρο κουμπιών συν ένα προαιρετικό κουμπί Βοήθεια:

- Εφαρμογή

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

- Ακύρωση

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

- OK

  Εφαρμόζει όλες τις ρυθμίσεις στο παράθυρο, και ύστερα κλείνει το παράθυρο.

Κουμπιά σε ένα σαφές παράθυρο εφαρμογής

Στιγμιότυπο που εμφανίζει τις ορθές θέσεις για τα κουμπιά Βοήθεια, Εφαρμογή, Ακύρωση και Εντάξει σε ένα διάλογο
FIXME: εδώ ένα καλύτερο παράδειγμα τέτοιου είδους παραθύρου

#### Προεπιλεγμένα κουμπιά

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

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

Ιδιαίτερα, επί του παρόντος δεν συνίσταται να κάνετε το κουμπί Κλείσιμο το προεπιλεγενο σε ένα παράθυρο άμεσης εφαρμογής καθώς αυτό μπορεί να κάνει τους χρήστες να κλείσουν κατά λάθος το παράθυρο πριν τελειώσουν να εργάζονται σε αυτό.

#### Παράθυρα ιδιοτήτων

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

Παράδειγμα παραθύρου ιδιοτήτων

Στιγμιότυπο που εμφανίζει το παράθυρο για τις "ιδιότητες αρχείων" από το Ναυτίλο

Μορφοποίηση τίτλου:

Ιδιότητες για το Όνομα αντικειμένου

Εντολέςς παραθύρων:

Κλείσιμο, Ελαχιστοποίηση, Τύλιγμα/Ξετύλιγμα

Κουμπιά:

Τοποθετήστε ένα κουμπί Κλείσιμο στη χαμηλότερη δεξιά γωνία. Ενδεχομένως τοποθετηθεί ένα κουμπί για Βοήθεια στη χαμηλότερη αριστερή γωνία.

#### Παράθυρα προτιμήσεων

Τα παράθυρα προτιμήσεων επιτρέπουν στο χρήστη να αλλάζει τον τρόπο που εμφανίζεται ή συμπεριφέρεται μία εφαρμογή.

Χρειάζονται περισσότερες πληροφορίες εδώ!

Παράδειγμα παραθύρου προτιμήσεων

Στιγμιότυπο που εμφανίζει το παράθυρο των προτιμήσεων του Gnibbles

Μορφοποίηση τίτλου:

Προτιμήσεις για το Όνομα εφαρμογής

Εντολέςς παραθύρων:

Κλείσιμο, Ελαχιστοποίηση, Τύλιγμα/Ξετύλιγμα

Κουμπιά:

Τοποθετήστε ένα κουμπί Κλείσιμο στη χαμηλότερη δεξιά γωνία. Ενδεχομένως τοποθετηθεί ένα κουμπί για Βοήθεια στη χαμηλότερη αριστερή γωνία.

##### Προσαρμογή γραμματοσειρών και χρωμάτων

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

Η προτεινόμενη σύνταξη για αντικατάσταση στοιχείων από θέματα - για αντικατάσταση με στιγμιότυπο

    	(o) Χρήση γραμματοσειράς από ένα θέμα
    	(o) UΧρήση αυτής της γραμματοσειράς: [ Διαχωριστικό γραμματοσειράς ]

    	(o) Χρήση χρωμάτων από ένα θέμα
    	(o) Χρήση αυτών των χρωμάτων:
    		Παρασκήνιο: [ επιλογέας χρώματος ]
    		Προσκήνιο: [ επιλογέας χρώματος ]

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

#### Πεδία ελέγχου

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

Ένα παράδειγμα πεδίου ελέγχου

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

Μορφοποίηση τίτλου:

Τα πεδία ελέγχου δεν έχουν τίτλο

Πώς διακρίνει τα πεδία επιλογών μεταξύ τους ένας χρήστης με αναγνώστη οθόνης; --Calum. Υποδείξεις ATK; Πως γίνεται αυτό στα Windows (γίνεται;); Δεν υπάρχει χώρος για γραμμή τίτλου. Ενδεχομένως μπορούμε να βάλουμε τις εφαρμογές να ορίζουν γραμμή τίτλου αλλά ο διαχειριστής παραθύρων να μη τη σχεδιάζει ή κάτι τέτοιο. Όπως και να 'χει, για μύωπες χρήστες δεν υπάρχει καν *χώρος* για γραμμή τίτλου σε εργαλειοθήκη. - Seth Μια εργαλειοθήκη πρέπει να έχει μια κατάλληλη και προσβάσιμη περιγραφή, έτσι ώστε ένας χρήστης αναγνώστη οθόνης να ακούει κάποιες πληροφορίες για τα περιεχόμενά της όταν εστιάζει σε αυτή. -Calum Θεωρώ ο ορισμός τίτλου που θα αγνοείται από τον διαχειριστή παραθύρων είναι ο καλύτερος τρόπος να γίνει αυτό; Θα μιλήσω στον Havoc. -Seth

Εντολέςς παραθύρων:

Κλείσιμο, Τύλιγμα/Ξετύλιγμα

Κουμπιά:

Τα πεδία ελέγχου δεν έχουν κουμπιά

Αλλαγή μέγέθους:

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

Κατευθυντήριες γραμμές

- Τοποθετήστε μόνο κουμπιά σε ένα πεδίο εργαλείων που δεν ανοίγουν ένα άλλο παράθυρο.

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

- Βεβαιωθείτε ότι κλείνοντας το πεδίο εργαλείων δεν κλείνει ή ειδάλλως εναλλάξτε οποιοδήποτε πρωτεύον παράθυρο με το οποίο σχετίζεται.

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

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

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

##### Κατηγορίες πεδίων ελέγχου

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

Ένα μεγάλο πεδίο ελέγχου διαχωρισμένο σε κατηγορίες

Κατευθυντήριες γραμμές

- Χωρίστε τις εργαλειοθήκες με περισσότερα από δεκάξι αντικείμενα σε κατηγορίες. Το βέλτιστο μέγεθος είναι μεταξύ τεσσάρων και δέκα αντικειμένων.

- Ορίστε μια ετικέτα για κάθε κατηγορία (σε κεφαλαία τίτλων) και ένα βέλος σύμπτυξης. Με κλικ στην ετικέτα ή στο βέλος η κατηγορία αλλάζει από συμπτυγμένη σε ανεπτυγμένη.

### Συναγερμοί

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

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

An alert should not appear in the panel window list unless it is, or may be, the only window shown by an application. For example, an appointment reminder alert may be shown after the main calendar application window has been closed.

Otherwise, an alert should be raised above the application when the application window itself is selected from the window list.

Ένα παράδειγμα συναγερμού

An example of an alert, showing the text "You have an appointment with George Wells in 15 minutes", and with an OK button to dismiss the window.

Μορφοποίηση τίτλου

Alert windows have no titles, as the title would usually unnecessarily duplicate the alert's primary text. This way, users can read and respond to alerts more quickly as there is less visual noise and confounding text.

Χωρίς τίτλο. πώς αναγνωρίζει ένα παράθυρο ειδοποιήσεων ένα χρήστης με αναγνώστη οθόνης; -Calum The screen-reader finds out its an alert (do we need a WM mechanism for this?) and reads the primary text to identify the alert. The whole point for removing the title is that its redundant with the primary text, and puts more crap on the screen to be read. This problem applies double to users with screenreaders (i.e. reducing extra crap helps them even more). -Seth An alert still needs to have an appropriate accessible description (perhaps the primary text of the alert itself?), so a screenreader user hears some information about its content when they focus it. -Calum Θα μιλήσω στον Havoc σχετικά με αυτό -Seth

Αλαλγή μεγέθους

Alert windows are not resizable. If the user needs to resize your alert, the text is probably not concise enough.

Εντολέςς παραθύρων:

Κανένα

Οι ειδοποιήσεις πρέπει να βρίσκονται πάνω από τα γονικά στοιχεία

Alerts do not appear in the system window list. Consequently, take care to ensure that alerts stay above their parent window. Otherwise, users will be likely to lose the alert and find your application unresponsive for no apparent reason. Modal windows should always stay above the window(s) they block.

#### Κείμενο ειδοποίησης

An alert may contain both primary and secondary text. The primary text briefly summarizes the situation. The secondary text provides additional information.

Make both the primary and secondary text selectable. This makes it easy for the user to copy and paste the text to another window, such as an email message.

Τοποθέτηση πρωτεύοντος και δευτερεύοντος κειμένου

Screenshot of an alert showing example of primary text in bold, and secondary text in a smaller font underneath.

Πρωτεύον κείμενο

The primary text provides the user with a one sentence summary of the information or suggested action. This summary should concisely contain the essential details of the problem or suggestion. Every alert has primary text, displayed in a bold font slightly larger than the default. The primary text is punctuated in 'newspaper headline' style, that is, it has no terminating period, but it may have a terminating question mark.

Επισημάνετε το πρωτεύον κείμενο με τη σήμανση pango:

    <span weight="bold"
          size="larger">Primary Text</span>

Δευτερεύον κείμενο

Secondary text provides a more in-depth description of the problem and suggested action, including possible side effects. Secondary text can also provide information that may be helpful in allowing the user to make an informed decision. In most situations the user should only need the primary text to make a quick decision, but they may read the secondary text if they are unsure of the proper course of action, or require extra details. Secondary text is optional, but if used, place it one text line height beneath the primary text using the default font size and weight.

#### Κουμπιά ειδοποιήσεων

Give all alerts an affirmative button that dismisses the alert and performs the action suggested in the primary text. Provide a Cancel button for all alerts displayed in response to a user actions, such as Quit. If the alert warns of a technical problem or other situation that could result in data loss, provide a Help button that provides more information on the particular situation and explains the user's options. You may also provide buttons to perform alternate actions that provide another possible solution, fix potential problems, or launch related dialogs or programs.

Ταξινόμηση και τοποθέτηση κουμπιών για ειδοποιήσεις

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

Διατύπωση κουμπιών

Write button labels as imperative verbs, for example Save, Print. This allows users to select an action with less hesitation. An active phrase also fits best with the button's role in initiating actions, as contrasted with a more passive phrase. For example Find and Log In are better buttons than than Yes and OK.

- Κουμπί κατάφασης

  Place the affirmative button in the lower right corner of the alert. The affirmative button accepts the action proposed by the alert, or simply dismisses the alert if no action is suggested (as is the case with an information alert).

- Κουμπί ακύρωσης

  If the alert was produced in response to a user action, place a Cancel button immediately to the left of the affirmative button. This provides an escape route for users to stop an action in response to new information, or just if they clicked accidentally. Clicking the Cancel button reverts the application to its state prior to the user action.

- Κουμπί βοήθειας

  A Help button may be used to clarify alerts that present potentially destructive options. Place the Help button in the lower left corner of the alert. When clicked, launch a help window clarifying the situation, detailing the actions performed by the other buttons, and explaining any side-effects that each action may have.

- Εναλλακτικά κουμπιά

  Extra buttons may be used to provide alternates to the primary action proposed by the alert text. Place these buttons to the left of the Cancel button, or the affirmative button if Cancel is not present. An example of a common alternate action would be a Quit without Saving button in a save confirmation alert. This is an alternative to the primary suggested action Save and the Cancel button.

#### Διάστιχο και τοποθέτηση μέσα σε ειδοποιήσεις

Using clear, consistent spacing in alerts makes the message easier to digest and the available responses more obvious.

Διάστιχο μέσα σε μία ειδοποίηση

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

Κατευθυντήριες γραμμές

- Το περίγραμμα γύρω από τις άκρες της ειδοποίηησς, και το διάκενο μεταξύ του εικονιδίου και του κειμένου, είναι 12 εικονοστοιχεία.

- Το οριζόντιο διάστιχο μεταξύ των κουμπιών σε 6 εικονοστοιχεία.

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

- Στοιχίστε την κορυφή του ατοιχείου με την κορυφή του πρωτεύοντος κειμένου.

- Εφαρμόστε αριστερή στοίχιση στο κείμενο του μηνύματος, σε δυτικές εντοπιότητες.

Τεχνικές λεπτομέρειες για την κατάλληλη διάταξη

Create a new GtkDialog window specifying the number of buttons you wish the alert to contain (and a help button if appropriate). The GtkDialog will contain a GtkVBox with an empty upper row, and a lower row containing a GtkButtonBox with buttons in it. In the empty upper row, place a new GtkHBox. In the left column of the GtkHBox place a GtkImage. In the right column of the GtkHBox place a GtkLabel. Inside the GtkLabel place Primary Text first (using the appropriate Pango markup, see ), then put two linebreaks (return), then place Secondary Text. Now change the properties for each control according to these tables:

Ιδιότητες για το GtkDialog

Ιδιότητα | Τιμή
--- | ---
Τίτλος | (κανένα)
Πλάτς περιγράμματος | 6
Τύπος | Ανώτερο επίπεδο
Με δυνατότητα αλλαγής μεγέθους | Όχι
Έχει διαχωριστικό | Όχι

Ιδιότητες για το GtkVBox (συμπεριλαμβάνονται στο διάλογο εξ ορισμού)

Ιδιότητα | Τιμή
--- | ---
Διάστιχο | 12

Ιδιότητες για το GtkHBox

Ιδιότητα | Τιμή
--- | ---
Διάστιχο | 12
Πλάτς περιγράμματος | 6

Ιδιότητες για το GtkImage

Ιδιότητα | Τιμή
--- | ---
Στοίχιση Y | 0.00
Μέγεθος εικονιδίου | Διάλογος

Ιδιότητες για το GtkLabel

Ιδιότητα | Τιμή
--- | ---
Χρήση επισήμανσης | Ναι
Αναδίπλωση κειμένου | Ναι
Στοίχιση Y | 0.00

#### Ειδοποιήσεις πληροφοριών

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

Μία ειδοποίησης πληροφοριών

Μία ειδοποίησης πληροφοριών…

- χρησιμοποιεί το εικονίδιο πληροφοριών.

- presents a selectable message and an OK button. The button is placed in the bottom right corner of the alert. Pressing Enter or Escape dismisses the alert.

- may present a convenience button to give access to a relevant object. For example, a Details button in an appointment reminder alert that opens the appointment's property window. Place this button to the left of the affirmative button.

Εντολέςς παραθύρων:

Τύλιγμα/Ξετύλιγμα, Ελαχιστοποίηση (αν η ειδοποίηση δεν έχει γονικό παράθυρο,) Κλείσιμο

#### Ειδοποιήσεις σφάλματος

Display an error alert when a user-requested operation cannot be sucessfully completed. Present errors caused by operations not requested by the user by another means, unless the error could result in data loss or other serious problems. For example, an error encountered during an email check initiated by the user clicking a toolbar button should present an error alert. However, an error encountered in an automated periodic email check would more appropriately report failure with a statusbar message.

Μία ειδοποίηση σφάλματος

Μία ειδοποίηση σφάλματος…

- χρησιμοποιεί το εικονίδιο σφάλματος.

- presents a selectable message and an OK button. The button is placed in the bottom-right corner of the alert. Pressing Enter may dismiss the error alert.

- may present a convenience button to allow immediate handling of the error. For example, a Format... button in a "This disk is not formatted" alert. Place this button to the left of the affirmative button.

Εντολέςς παραθύρων:

Τύλιγμα/Ξετύλιγμα

#### Ειδοποιήσεις επιβεβαίωσης

Present a confirmation alert when the user's command may destroy their data, create a security risk, or take more than 30 seconds of user effort to recover from if it was selected in error.

Μία ειδοποίηση επιβεβαίωσης

Μία ειδοποίηση επιβεβαίωσης…

- χρησιμοποιεί το εικονίδιο ειδοποίησης.

- presents a selectable message and a button labelled with a verb or verb phrase describing the action to be confirmed, or labelled OK if such a phrase would be longer than three words. This button is placed in the bottom right corner of the alert.

- presents a Cancel button that will prevent execution of the user's command. This button is placed to the immediate left of the OK or equivalent button.

- may present an alternate action button or a convenience button. Place this button to the left of the Cancel button.

Εντολέςς παραθύρων:

Τύλιγμα/Ξετύλιγμα

##### Αποθήκευση ειδοποιήσεων επιβεβαίωσης

Save confirmation alerts help ensure that users do not lose document changes when they close applications. This makes closing applications a less dangerous operation.

Αποθήκευση ειδοποίησης επιβεβαίωσης

Αποθήκευση ειδοποίησης επιβεβαίωσης "[ Κλείσιμο χωρίς αποθήκευση] [ Ακύρωση ] [[ Αποθήκευση ]] "

Πρωτεύον κείμενο

Save changes to document Document Name before closing?

You may replace document with a more appropriate description, for example image or diagram if the document in question is not primarily text.

Δευτερεύον κείμενο

If you close without saving, changes from the last Time Period will be discarded

The secondary text provides the user with some context about the number of changes that might be unsaved.

Κουμπιά

Close without Saving, Cancel, Save

When a confirmation alert is needed, present it immediately. If the user confirms closing without saving, hide the alert and the document or application window immediately, before doing any necessary internal clean-up. If the user chooses to save before closing, hide the alert immediately but show the document window until the document is saved, in case an error occurs. Then hide the document window immediately after it has been saved successfuly.

#### Ειδοποιήσεις εξουσιοδότησης

Authentication alerts prompt the user for information necessary to gain access to protected resources, such as their username or password. Authentication alerts are a special kind of alert because they are both routine and largely unavoidable. Every attempt should be made to retain information entered into an authentication alert as long as is possible within security constraints.

Μία ειδοποίησης εξουσιοδότησης

Κατευθυντήριες γραμμές

- Χρησιμοποιήστε το αποθηκευμένο εικονίδιο εξουσιοδότησης.

- Show a labelled field for each required item of information. Suggested fields are Username and Password (in that order) where appropriate.

- If it is secure to retain the username longer than the password, pre-fill the username field and give focus to the password field when the alert is displayed.

- Show a button labelled with a verb or verb phrase describing the authentication action, or OK if there is no appropriate phrase or such a phrase would be longer than three words. Place this button in the bottom right corner of the alert.

- Do not enable the OK or equivalent button until all fields that require input have been attended to by the user. Remember that not all fields may require input however, for example an empty password may be acceptable in some applications.

- Show a Cancel button that will prevent authentication and close the alert. Place this button to the immediate left of the OK or equivalent button.

- Place any alternative action or convenience button to the left of the Cancel button.

- When the user presses Return in the last field, activate the default button. When the user presses Return in any other field, move focus to the next field.

Εντολέςς παραθύρων:

Τύλιγμα/Ξετύλιγμα

### Παράθυρα προόδου

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

A progress window should always appear as an independent window in a window list. If progress of a task makes a window temporarily unusable, do not present a modal dialog-like progress window in front of it. Instead, present progress somewhere in the original window, making all its other elements temporarily insensitive. This helps reduce visual clutter.

Ένα παράδειγμα παραθύρου προόδου

Ένα παράδειγμα παραθύρου προόδου

Μορφοποίηση τίτλου

Progress windows should have a title representing the overall operation: for example Copying Files, Installing, or Calling. As with other window titles, do not end progress window titles with an ellipsis.

Αλαλγή μεγέθους

Progress windows should be resizable if they contain non-static information the user may want to copy (for example, the source URL in a download progress window). Otherwise they should not be resizable.

Κατευθυντήριες γραμμές

- It is often better to use the progress bar contained in many primary windows' statusbar rather than a progress window. See for details on choosing between the two.

- Τα παράθυρα προόδου θα πρέπει να χρησιμοποιούν πρωτεύον ή δευτερεύον κείμενο ως συναγερμό. Δείτε την

- The progress bar text should provide an idea of how much work has been completed. It is better to provide specific information rather than a unitless percentage. For example, "13 of 19 images rotated" or "12.1 of 30 MB downloaded" rather than "13% complete".

- If possible, an estimate of the time left until the operation is complete should also be included in the progress bar text. Indicate that the "time left" is an estimate using the word "about".

- Immediately beneath the progress bar, place italicized text indicating the current sub-operation being performed. This might be a step in a sequence, "Contacting control tower for permission to land", or it could be the current object being operated on in a bulk operation, "Rotating MonaLisa.png", "Rotating StarryNight.png".

- If the operation in progress is potentially hazardous (destructive, costly, etc) or heavily taxes a limited resource for more than ten seconds (network bandwidth, hard disk, CPU, etc), consider placing a Pause toggle button to the right of the Cancel button. When paused, the italicized current sub-operation text should have " (Paused)" appended. This will allow users to perform important tasks requiring that resource, or give them time to think whether they want to procede with a dangerous operation they inadvertantly triggered.

Ένα παράθυρο προόδου για τη λειτουργία αντιγραφής αρχείου

Ένα παράθυρο προόδου για μια λειτουργία αντιγραφής

#### Παράθυρα λίστας ελέγχου

Occasionally a procedure is comprised of a series of user performable actions. In these cases, particularly when it is desirable that the user acquire some familiarity with the actions involved in a procedure, checklist windows may be used.

Οδηγός ρύθμισης τείχους προστασίας

A personal firewall setup wizard might install the firewall package, add entries for the firewall to /etc/xinetd.conf, restart the internet super-daemon, and configure the user's web browser to operate through the firewall. It may be desirable that the user is exposed the series of actions involved in setting up the firewall to increase the chances that they will be sucessful in making modifications later, if they so desire.

Ένα παράδειγμα παραθύρου λίστας ελέγχου (Έτοιμο για εκκίνηση)

Ένα παράθυορ λίστας ελέγχου

Ένα παράδειγμα παραθύρου λίστας ελέγχου (Σε εξέλιξη)

Ένα παράθυορ λίστας ελέγχου

Ένα παράδειγμα παραθύρου λίστας ελέγχου (Ολοκληρώθηκε)

Ένα παράθυορ λίστας ελέγχου

Κατευθυντήριες γραμμές

- If knowing the series of steps in an operation isn't that useful to the user, just use a regular progress window. Remember that you are probably more interested in the information than most users, many of whom will find the technical steps confusing rather than helpful.

- Unlike regular progress windows, checklist windows should not close automatically when the operation is complete and should require explicit user input before they begin. This is because one of their purposes is to inform the user concerning an operation's contingent steps.

- The progress bar indicates progress in the overall operation, not each step. While this is more difficult to program, it is the information most useful to the user. Just estimate how long each of the steps takes relative to each other and assign each step a fixed ratio of the progress bar's progress accordingly.

- Do not use a checklist window for a series of internal programmatic steps, use a regular progress window. For example "Connect to mail server", "Authenticate with mail server", "Download messages", "Disconnect" would not be an appropriate series of steps for a checklist window, but would be appropriate sub-operation steps for a regular progress window.

### Διάλογοι

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

A dialog should not appear in the panel window list. Any open dialogs should be raised above the application when the application window itself is selected from the window list.

Ένα παράδειγμα διαλόγου

Ένα παράδειγμα διαλόγου με καρτέλες: ο διάλογος εκτύπωσης του GNOME

Μορφοποίηση τίτλου:

Το όνομα της εντολής που άνοιξε το διάλογο (χωρίς αποσιωπητικά κατάληξης)

Εντολέςς παραθύρων:

Ελαχιστοποίηση, Τύλιγμα/Ξετύλιγμα

Κουμπιά:

Ακολουθήστε τις οδηγίες για κουμπιά ειδοποιήσεων, δείτε το .

Ο διάλογός σας ενδεχομένως ορίζει ένα προεπιλεγμένο κουμπί, το οποίο ενεργοποιείται όταν ο χρήστης πιέζει το πλήκτρο Return key. Δείτε τα για τον οδηγό επιλογής ενός κατάλληλο προεπιλεγμένου κουμπιού.

#### Επιπρόσθετα κουμπιά

You can include other buttons in a dialog's main button area in addition to the affirmative button and Cancel, but any more than one or two such buttons will make the dialog appear complicated and difficult to use. As with any other button, keep the labels as concise as possible to minimize this effect.

Κατευθυντήριες γραμμές

- Place buttons that apply to the dialog as a whole in the main button area row at the bottom of the dialog, to the left of the Cancel button.

- Place buttons that apply to one or a few controls next to their associated controls. For instance, place a Browse... button at the trailing edge of the text field it fills in.

#### Διάταξη

A clean, logical dialog layout helps the user to quickly understand what information is required from them.

Κατευθυντήριες γραμμές

- Arrange controls in your dialog in the direction that people read. In western locales, this is generally left-to-right, top-to-bottom. Position the main controls with which the user will interact as close to the upper left corner as possible. Follow similar guidelines for arranging controls within groups in the dialog, and for specifying the order in which controls are traversed using the Tab key.

- When opening a dialog, provide initial keyboard focus to the component that you expect users to operate first. This focus is especially important for users who must use a keyboard to navigate your application.

- Provide and show sensible default values for as many of the controls in your dialog as possible when it is opened, so the user does not have to generate the information from scratch. These defaults may come from system settings (for example, hostname or IP address), or from information that the user has previously entered in this or another application (for example, email address or network proxy).

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

See for information on using tabbed notebook controls in dialogs.

#### Κοινοί διάλογοι

The gtk and GNOME libraries provide standard dialogs for many common tasks, including opening and saving files, choosing fonts and colors, and printing. Always use these when the user is performing one of these tasks. You may modify the dialogs to reflect the needs of your particular application (for example, adding preview Play and Stop buttons to the Open File dialog in an audio application), but do not change or remove features so much as to make them unrecognizable.

### Βοηθοί

An assistant is a secondary window that guides the user through an operation by breaking it into sequential steps. Assistants are useful for making complex operations less intimidating, as they restrict the information visible to the user at any given moment.

Because assistants provide a relatively small number of controls on the screen at any given time, they have sufficient space for inline documentation. Therefore, do not include a Help button in an assistant window. If you cannot make an operation sufficiently clear in an assistant without resorting to a Help button, you need to simplify it further.

Assistants do have major downsides. After using an assistant it is often hard to figure out where the individual settings aggregated into the assistant are stored. Often people will resort to re-running the assistant, re-entering many settings that they don't want to change. Why do they need to re-enter anything? The assistant should be populated with the exisiting settings whenever it is run.

Assistants are often used in situations where a better solution would be to simplify, or even better automate, the process. Before using an assistant to step people through a complex operation, consider if the operation can be fundamentally simplified so an assistant is unnecessary.

Εντολέςς παραθύρων:

Κλείσιμο/ Ελαχιστοποίηση/Μεγιστοποίηση, Τύλιγμα/Ξετύλιγμα

#### Σελίδα εισαγωγής

The first page provides the user with the "big picture". Place the title of the assistant in the window's title bar and the assistant's title area, along with an optional picture. Beneath this, state the goal of the assistant, and, if it is not obvious, where the user can find the information the assistant will be asking for.

Μορφοποίηση τίτλου:

Βοηθητικός τίτλος

Κουμπιά:

Ακύρωση, Εμπρός

Παράδειγμα της πρώτης σελίδας ενός βοηθού

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

#### Σελίδες περιεχομένων

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

Μορφοποίηση τίτλου:

Βοηθητικός τίτλος - (η Τρέχουσα σελίδα από τις Συνολικές σελίδες)

Κουμπιά:

Ακύρωση, Πίσω, Εμπρός

#### Τελευταία σελίδα

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

Μορφοποίηση τίτλου:

Έξοδος από το Βοηθητικό τίτλο

Κουμπιά:

Κλείσιμο, Πίσω, Τέλος

## Μενού

Να κοπούν| τα μενού (Αυτά ελέγχονται από το gconf in 2.0, έτσι ο συντελεστής της εφαρμογής δεν χρειάζεται να κάνει κάτι;) Θέση της γραμμή μενού Απόκυρψη της γραμμής μενού

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

In most applications, only primary windows should have a menubar. Utility windows and dialogs should be simple enough that their functions can be provided by controls such as buttons placed within the window.

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

- τα μενού που ακολουθούν την ίδια τυπική διάταξη όπως περιγράφηκε στο

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

Κατευθυντήριες γραμμές

- Label menu items with verbs for commands and adjectives for settings, according to the rules in .

- Make a menu item insensitive when its command is unavailable. For example, the Edit Copy item, which issues the command to copy selected data to the clipboard, should not be active when there is no data selected.

- Provide an access key for every menu item. You may use the same access key on different menus in your application, but avoid duplicating access keys on the same menu. Note that unlike other controls, once a menu is displayed, its access keys may be used by just typing the letter; it is not necessary to press the Alt key at the same time.

- Design your menu structure to avoid more than one level of submenus. Deep menu hierarchies are harder to memorize and physically difficult to navigate.

- Do not have menus with less than three items on them (except the standard Help menu, which has only two items by default). If you have a submenu with fewer than three items on it, move them into their parent menu. If you have a top-level menu with fewer than three items on it, find another suitable menu to add them to, or find suitable items from other menus to add to it.

### Η γραμμή μενού

Μια τυπική γραμμή μενού

A typical application menubar, showing File, Edit, View, Insert, Format, Go, Bookmarks, Tools, Windows and Help menus

The menubar provides a number of drop-down menus. Only the menu titles are displayed, until the user clicks on one of them.

The menubar is normally visible at all times and is always accessible from the keyboard, so make all the commands available in your application available on the menubar.

Λειτουργία πλήρους οθόνης

When your application is running in full screen mode, hide the menubar by default. However, make its menus and items accessible from the keyboard as usual. Pressing ESC should cause the application to leave full screen mode. A Leave Fullscreen button should be placed in the upper right hand corner of the window. The button should disappear after the mouse is unused for 5 seconds, and should appear again when the moused is moved. Alternately, in applications where the mouse is used frequently in full screen mode, all but a two pixel row of the button may be slid off the top of the screen. The button should slide back on the screen when the mouse moves near it.

Κατευθυντήριες γραμμές

- Provide a menubar in each primary application window, containing at least a File and a Help menu.

- Οργανώστε τους τίτλους μενού σε μία τυπική σειρά— δείτε το

- Do not disable menu titles. Allow the user to explore the menu, even though there might be no available items on it at that time.

- Menu titles on a menubar are single words with their first letter capitalized. Do not use spaces in menu titles, as this makes them easily-mistaken for two separate menu titles. Do not use compound words (such as WindowOptions) or hyphens (such as Window-Options) to circumvent this guideline.

- Do not provide a mechanism for hiding the menubar, as this may be activated accidentally. Some users will not be able to figure out how to get the menu bar back in this case.

### Τύποι μενού

#### Εκπίπτοντα μενού

A typical drop-down menu

Screenshot of a typical drop-down menu

A drop-down menu appears when the user clicks on its title in a menubar, or focuses the title and presses Return.

CB-Ed/Fig: Define "post," as no-brainer-ish as it may seem, and also add a figure to show what it means. A simple menu being shown at the user clicking on a menu title on a menubar, or "posted," makes sense. CFB: I've just reworded everything to avoid the use of "post"

Κατευθυντήριες γραμμές

- Only place items on a menu that relate to that menu's title.

- Organize menu items in the standard order— see . For application-specific items where there is no standard order, arrange in numerical or other logical order (for example, 50%, 100%, 200%), task order (for example, Compile followed by Debug) or by expected frequency of use.

- Limit top-level menus to a maximum of about 15 items. If you have any more items than this, consider moving a functionally-related subset of the items into a submenu or a new top-level menu.

- Do not add or remove individual menu items while the application is running, make them insensitive instead. Entire menus may be added or removed from the menubar at runtime, however, for example in component-based applications.

- Immediately update menu items that are edited directly or indirectly by the user, such as those on the Open Recent submenu and the Bookmarks menu.

CB-Ed: As in JLFDG AT p. 33, perhaps provide a table of common access keys, or "mnemonics." CFB: the keyboard navigation chapter already does so

#### Υπομενού

Ένα εκπίπτον μενού με ένα υπομενού

Στιγμιότυπο που εμφανίζει ένα εκπίπτον μενού με ένα υπομενού

A submenu appears when the user clicks its title, which is indicated by a small arrow symbol beside its label. You can save space on long menus by grouping related commands onto a single submenu.

Κατευθυντήριες γραμμές

- Use submenus sparingly, as they are physically difficult to navigate and make it harder to find and reach the items they contain.

- Do not create submenus with fewer than three items, unless the items are added dynamically (for example the File New Tab submenu in gnome-terminal).

- Do not nest submenus within submenus. More than two levels of hierarchy are difficult to memorize and navigate.

CB-Ed/Fig: In JLFDG AT, p. 41, the Most Recently Used (MRU) list is recommended to contain no more than 10 items. Add a figure here, with callouts to point out this rule, among others, if any are developed.

#### Αναδυόμενα μενού

Ένα αναδυόμενο μενού για ένα φάκελο ηλεκτρονικών μηνυμάτων

Στιγμιότυπο που εμφανίζει ένα αναδυόμενο μενού για ένα φάκελο ηλεκτρονικών μηνυμ'ατων, με λίστα των ενεργειών που μπορούν να εκτελεστούν σε εκείνο το φάκελο

Popup menus provide shortcuts to those menu items that are applicable only to the currently selected object. As such, they are sometimes known as "context menus" or "shortcut menus". A popup menu is shown when the user right-clicks on an object, or selects the object and presses Shift F10.

Be aware that popup menus are used primarily by intermediate and advanced users. Even some users who have used graphical desktops for many years do not know about popup menus until somebody shows them.

Κατευθυντήριες γραμμές

- Provide a popup menu for every object, selectable part, and text input target such as entry fields.

- Provide an access key for each item. However, to enhance their spatial efficiency and readability, do not show keyboard shortcuts in popup menus.

- Since the user may not be aware of their presence, do not provide functions that are only accessible from popup menus unless you are confident that your target users will know how to use popup menus.

  Αλλά δείτε http://bugzilla.mozilla.org/show_bug.cgi?id=34357

- Ταξινομήστε τα στοιχεία σε ένα αναδυόμενο μενού ως ακολούθως:

  - η ενέργεια με διπλό κλικ για το αντικείμενο, όταν αυτό υπάρχει

  - άλλες εντολές και ρυθμίσεις σε αναμενόμενη ταξινόμηση με συχνή χρήση

  - μεταφέρετε εντολές όπως η `Αποκοπή`, η `Αντιγραφή`, και η `Επικόλληση`

  - Input Methods, where applicable. Input Methods is provided by GTK+ for supporting alternatives to the keyboard for input (such as used for Japanese, Chinese, and some accessibility technologies).

- Popup menus need to be as simple as possible to maximize their efficiency. Do not place more than about ten items on a popup menu, and do avoid submenus.

CB-Ed: In the previous note, define the Input Methods menu and why it is an exception, for scalability reasons (other items may fall into the same category). It also sounds like a pretty low-level command; should this be exposed to the user? SN-Ed: No, it should not be exposed to the user. I'm not really sure what possessed the GTK guys to put this in every right click menu for text boxes. I suppose in this case having it be a submenu is good (if they insist on it existing) because it makes it maximally invisible GJM: To make this worse, they've added "Insert Unicode control character".

### Σχεδίαση ενός μενού

#### Ομαδοποίηση στοιχείων μενού

Στοιχεία που ομαδοποιήθηκαν σε ένα μενού με διαχωριστικά

Στιγμιότυπο ενός μενού διαχωρισμένο σε πέντε λογικές ομάδες με διαχωριστικά μενού

Menu separators are the horizontal dividing lines that visually separate groups of related items on a drop-down menu, submenu, or popup menu. For example, the separators in divide the menu into five functionally-related groups. Good use of separators helps to "chunk" the information on a menu and make it easier to scan and memorize.

Κατευθυντήριες γραμμές

- The best size for a group is around 2-5 items. Single-item groups are best placed at the top or bottom of a menu, otherwise try to group them with other single items of the same type on the same menu.

- Order items within a group logically, numerically, in task order or by expected frequency of use, as appropriate.

- Only place one type of menu item in each group— command, mutable, check box or radio button. For example, do not place commands (such as View Reload) and settings (such as. View Toolbar) in the same group.

#### Τύπο στοιχείου μενού

##### Στοιχεία εντολών

Μία ομάδα στοιχείων εντολών σε ένα μενού

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

Command items are menu items that initiate a command or perform an action, such as Save, Print or Quit. They may act on the currently active document in a document based application, or on the application itself.

Κατευθυντήριες γραμμές

- Provide a keyboard shortcut for standard or frequently used command items. See for more information on choosing shortcut keys.

- Do not remove command items from the menu when they are unavailable, make them insensitive instead. This allows the user to infer what functionality the application provides even if it is not currently available, and keeping the menu structure static makes it easier to memorize.

- Label the menu item with a trailing ellipsis ("...") only if the command requires further input from the user before it can be performed. Do not add an ellipsis to items that only present a confirmation dialog (such as Delete), or that do not require further input (such as Properties, Preferences or About).

Should we reserve Alt as a modifier for window manager operations? Should we state this here? CB-Ed/Fig: Figure would be nice here.

##### Mutable Command Items

A mutable command item changes its label when selected. For example, View Reload in a browser may change to Stop to allow the user to interrupt the operation if it is taking a long time.

Note that mutable menu items can be problematic because the user never sees the menu item changing, so it is not obvious that a different function has become available.

Κατευθυντήριες γραμμές

- If your mutable menu items are command items, and you have sufficient space on your menu, consider providing two adjacent menu items for the commands instead. Then make the items sensitive or insensitive as the situation demands. This also makes it easier for the user to tell when different shortcuts are available for each of the commands, for example Ctrl R for Reload, and Esc for Stop.

- Do not use mutable menu items to toggle a two-state setting (for example, Show Toolbar and Hide Toolbar). Present such items as a single check box item instead.

##### Checkbox Items

A group of check box items on a menu

Screenshot of group on a View menu containing four check box items: Main Toolbar, Side Pane, Location Bar and Status Bar

A check box menu item shows the current state of a two-state setting, and allows the user to toggle it by selecting the menu item.

Κατευθυντήριες γραμμές

- Use a check box menu item only when it is obvious from the label what the set and unset states mean. This usually means that the two states are logical or natural opposites, such as "on" and "off". If this is not the case, use two radio button items instead.

- Never change the label of a check box menu item in response to the user selecting the item.

##### Radio Button Items

A group of radiobutton items on a menu

Screenshot of group on a menu containing three radiobutton items: view as icons, view as list and view details

Radio button menu items show which of two or more mutually-exclusive settings are currently selected, and allow the user to choose a different setting by selecting its menu item.

- If you need to offer a choice of two mutually-exclusive settings to the user, use a group of two radio button items instead of a single check box menu item if the settings are not clearly opposites. For example, represent View as Icons and View as List as two radio button items.

- Never change the label of a radio button menu item in response to the user selecting or deselecting the item.

Adam notes that this whole section can be a significant source of nastiness in a UI. We need explicit recommendations here on how to represent different states of a toggled menu item via icons in the UI. We also need to make recommendations to avoid some common mistakes, including: * Confusing menu items acting as radio buttons in a group with menu items acting as check boxes. * Ambiguous names for check box/toggle menu items which make it difficult to establish the current system state by looking at the menu.

### Standard Menus

Most applications have many functions in common, such as Cut, Copy, Paste and Quit. To aid learning and memorability, these menu items, and the menus on which they appear, must appear with the same labels and in the same order in every application. The same commands must also behave the same way in different applications, to avoid surprising the user.

This section details the most common menus, menu items and their behaviors. You will not need all of these menus or menu items in every application you write, but do preserve the order of the menu titles and of the menu items that you do use.

Κατευθυντήριες γραμμές

- Place application-specific menus after the Format menu and before the Go menu

- Place application-specific menu items towards the middle of a standard menu, unless they logically fit with one of the standard groups already on the menu.

What is the best way to present menus given the known variants? Multiple shots? Segments?

A menubar showing all the standard menu titles in their correct order

- Αρχείο
- Επεξεργασία
- Προβολή
- Εισαγωγή
- Format
- Μετάβαση
- Σελιδοδείκτες
- Παράθυρα
- Βοήθεια

#### Αρχείο

The File menu contains commands that operate on the current document. It is the left-most item in the menubar because of its importance and frequency of use, and because it is a relevant menu in many applications. Historically, because most applications already had this menu, and because the distinction between closing documents and closing windows became blurred over time, the File menu has also become the standard location for Quit.

The items on the File menu are generally ordered by locality, closest first. That is, items to save or load from file, followed by printing, followed by sending to a remote user. Try to maintain this ordering if you have to add new items to the menu.

If your application does not operate on documents, name this item for the type of object it displays. For example, many games should have a Game instead of a File menu. However, place the Quit menu item last on this menu nonetheless.

GJM: Quit should be deprecated. Close is often sufficient; especially when the application saves state as it should.

A generic File menu

    Αρχείο
    Νέο Ctrl+N
    Άνοιγμα… Ctrl+O

    ---
    Αποθήκευση Ctrl+S
    Αποθήκευση Ως… Shift+Ctrl+S
    Αποθήκευση ενός αντιγράφου…
    Επαναφορά
    ---
    Page Setπάνω
    Προεπισκόπηση εκτύπωσης Shift+Ctrl+P
    Εκτύπωση… Ctrl+P
    Αποστολή σε… Ctrl+M
    ---
    Ιδιότητες
    ---
    1. Recent Document
    2. Recent Document
    3. Recent Document
    4. Recent Document
    ---
    Close               Ctrl+W
    Quit                 Ctrl+Q

##### Creation and Opening Operations

Adam noted in the last review that we don't make any suggestions for applications that do not edit document/files. In an OOUI, the Game menu would have items such as (modulo phraeseology) Open New Game, Open Game Settings, High Scores. >For non-game UI there would be at the very least, Open as ... and Open Settings.

Creation and Opening operation menu items

Label | Shortcut | Description
--- | --- | ---
Νew | Ctrl Ν | Creates a new document. Open a new primary window, with the title Document name, containing a blank document. How this window is displayed, e.g. as a tab or a separate window, is up to the window manager. If your application can create a number of different types of document, you can make the New item a submenu, containing a menu item for each type. Label these items New document type, make the first entry in the submenu the most commonly used document type, and give it the Ctrl N shortcut. Note: A blank document will not necessarily be completely blank. For example, a document created from a template may already contain some data.
Άpen... | Ctrl Ά | Opens an existing document in a new window. Present the user with a standard Open File dialog from which they can choose an existing file. If the chosen file is already open in the application, raise that window instead of opening a new one. If your application provides more than two ways to open an object, place all the Open ... items in a submenu, including Recent Files. This keeps the menu less cluttered and in some ways presents a better inteface as the list of recent files is presented in the same menu, and near, the regular open commands. Users hate having to go to the bottom of the file menu to open recent files; the cause of this is that, in the workplace, it is far more common to sort out other peoples already written and saved crap than it is to have to write your own. Most of the users of office application, surveyed in both card sorts and online presentations of speculative menus, do not want or do not even notice when the New... items are absent. >Problem to be solved. It may be desirable to open a second read-only view of the same document. How should this be provided? Non-OOUI are particularly nasty in this regard, as in many others. A "Clone Window" command seems quite nasty. >As I noted in the first review, the blank window should be kept available; in an OOUI this is a more obvious a way of working.

##### Saved State Operations

This section needs a review with an eye to what can actually be done programmatically.

Saved State Operation menu items

Label | Shortcut | Description
--- | --- | ---
Αave | Ctrl Α | Saves the document with its current filename. If the document already has a filename associated with it, save the document immediately without any further interaction from the user. If there are any additional options involved in saving a file (eg. DOS or UNIX-style line endings in a text file), prompt for these first time the document is saved, but subsequently use the same values each time until the user changes them. If the document has no current filename or is read-only, selecting this item should be the same as selecting Save As.
Save Ωs... | Shift Ctrl Α | Saves the document with a new filename. Present the user with the standard Save As dialog, and save the file with the chosen file name.
Save a Copy... | Κανένα | Prompts the user to enter a filename, with which a copy of the document is then saved. Do not alter either the view or the filename of the original document. All subsequent changes are still made to the original document until the user specifies otherwise, for example by choosing the Save As command. Like the Save As dialog, the Save a Copy dialog may present different ways to save the data. For example, an image may be saved in a native format or as a PNG.
Επαναφορά | Κανένα | Reverts the document to the last saved state. Present the user with a warning that all changes will be lost, and offer the option of cancelling before reloading the file.
Save Πersion... | Κανένα | An alternative to the Save a Copy command. Only use this item in conjunction with the Restore Version. Unless we can describe exactly what this ought to do, should we remove it for now?command.
Restore Version... | Κανένα | Prompts the user for a version of the current document to be restored. Present the user with with a warning that all changes will be lost, and offer the option of cancelling before restoring the version. Only use this item in conjunction with the Save Version command.
Πersions... | Κανένα | An alternative to the Save Version and Restore Version commands. Use this when more utilities, such as a diff, are available.

##### Export Operations

Export Operation menu items

Label | Shortcut | Description
--- | --- | ---
Page Setπάνω | Κανένα | Allows the user to control print-related settings. Present the user with a dialog allowing the user to set such options as portrait or landscape format, margins, and so on. We should have a standard dialog for this.
Print Previeη | Shift Ctrl Ε | Shows the user what the printed document will look like. Present a new window containing an accruate represenation of the appearance of the document as it would be printed. The libgnomeprintui library provides a standard Print Preview window that you should use if possible.
Εrint... | Ctrl Ε | Prints the current document. Present the user with a dialog allowing them to set options like the page range to be printed, the printer to be used, and so on. The dialog must contain a button labelled Print that starts printing and closes the dialog. The `libgnomeprintui` library provides a standard Print dialog that you should use if possible.
Send To... | Ctrl Μ | Provides the user a means to attach or send the current document as an email or email attachment, depending on its format. You may provide more than one Send item depending on which options are available. If there are more than two such items, move them into a submenu. For example, if only Send by Email and Send by Fax are available, leave them on the top-level menu If there is a third option, such as Send by FTP, place all the options in a Send submenu.

##### Ιδιότητες αρχείου

Στοιχεία μενού ιδιοτήτων

Label | Shortcut | Description
--- | --- | ---
Ιδιότητες | Alt Return | Opens the document's Ιδιότητες window. This may contain editable information, such as the document author's name, or read-only information, such as the number of words in the document, or a combination of both. The Alt Return shortcut should not be provided where Return is most frequently used to insert a new line.

##### Λειτουργίες κλεισίματος

Στοιχεία μενού για λειτουργίες κλεισίματος

Label | Shortcut | Description
--- | --- | ---
Cλείσιμο | Ctrl Π | Closes the current document. If it has unsaved changes, present the user with a ειδοποίηση επιβεβαίωσης giving the option to save changes, discard them, or cancel the action without closing or saving the document. Αν το παράθυρο που κλείνετε είναι το τελευταίο έγγραφο που ανοίξατε στην εφαρμογή, η σωστή ενέργεια εξαρτάται από τον τύπο της επιλογής σας: Single document interface: close the application Controlled single document interface: leave only the control window open Multiple document interface: close the current document and create a new blank document As mentioned on the usability list, Control+W is an Emacs shortcut for Cut. This has already proven deleterious for some users so we should consider dropping the shortcut. But see also http://bugzilla.gnome.org/show_bug.cgi?id=76761
Qερματισμός | Ctrl Q | Closes the application. If there are unsaved changes in any open documents, present the user with a confirmation alert for each affected document, giving the option to save the changes, discard them, or cancel. If there are no unsaved changes, close the application immediately without presenting any further messages or dialogs. In particular, non-document based applications, for example a game or a calculator, should save their state and exit immediately. This state should be restored the next time the application is started. Kathy had suggested not providing a shortcut key to Quit. I can find no discussion of this. (And I think it should go away.)

#### Επεξεργασία

The Edit menu contains items relating to editing both the document (clipboard handling, search and replace, and inserting special objects) and the user's preferences. Preferences are edited here rather than on a Settings menu, because:

- most applications' preferences windows are accessed via a single menu item, and single-item menus offer poor usability

- most applications already contain a suitable Edit menu.

I think we should move to a MacOS/X concept of having an "AppName" menu that contains things like preferences, about, quit, etc. -Seth

Ένα αρχικό μενού επεξεργασίας

    Επεξεργασία
    Αναίρεση Ctrl+Z
    Επανάληψη Shift+Ctrl+Z
    -
    Cuτ Ctrl+X
    Cντιγραφή Ctrl+C
    Επικόλληση Ctrl+V
    Επικόλληση Αιδική επικόλληση... Shift+Ctrl+V
    Διαγραφή Del
    ΑΕπιλογή όλωνl Ctrl+A
    Αντιγραφή Ctrl+U
    Αποεπιλογή All Shift+Ctrl+A
    -
    Αύρεση... Ctrl+F
    Εύρεση επόμενου Ctrl+G
    Εύρεση Προηθούμενου Shift+Ctrl+G
    Αντιeατάσταση... Ctrl+R
    -
    Εσαγωγή...
    -
    Πρeτιμήσεις

##### Ιστορικό τροποποιήσεων

Document-based applications should maintain a history of modifications to a document and the state of the document between each action. The Undo and Redo commands move backwards and forwards through this history.

We'd like to see the action name included on the Undo/Redo menu items, but this is currently not easy to do in gtk.

Στοιχεία μενού με ιστορικά τροποποιήσεων

Label | Shortcut | Description
--- | --- | ---
Αναίρεση ενέργεια | Ctrl Z | Undoes the effect of the previous action in the undo history list. Revert the document to its state before the previous action was performed. If your application supports undo, and the user undoes all changes since it was last saved, treat the document as unmodified. Σημείωση: να παρέχετε ένα ξεχωριστό στοιχείο μενού για την Αναίρεση και την Επανάληψη αν η εφαρμογή σας υποστηρίζει μόνο ένα επίπεδο αναίρεσης.
Επανάληψη ενέργεια | Shift Ctrl Z | Performs the next action in the undo history list, after the user has moved backwards through the list with the Αναίρεση command. Move the user one step forwards again, restoring the document to the state it was in after that action was originally performed. Σημείωση: να παρέχετε ένα ξεχωριστό στοιχείο μενού για την Αναίρεση και την Επανάληψη αν η εφαρμογή σας υποστηρίζει μόνο ένα επίπεδο αναίρεσης.

##### Διαχείριση επιλογμένων δεδομένων

Στοιχεία μενού για τη διαχείριση των επιλεγμένων δεδομένων

Label | Shortcut | Description
--- | --- | ---
Αποκοπτ | Ctrl X | Απομακρύνει το επιλεγμένο περιεχόμενο και τα τοποθετεί στο πρόχειρο. Οπτικά, απομακρύνετε το περιεχόμενο από το έγγραφο με ίδιο τρόπο όπως το Διαγραφή.
Cντιγραφή | Ctrl C | Αντιγράφει το επιλεγμένο περιεχόμενο στο πρόχειρο.
Επικόλληση | Ctrl Π | Εισάγει τα περιεχόμενα του προχείρου στο έγγραφο. Αν δεν υπάρχει κάποια τρέχουσα επιλογή, χρησιμοποιήστε την αγκύλη ως σημείο εισαγωγής. Αν υπάρχει μία τρέχουσα επιλογή, αντικαταστήστε την με τα περιεχόμενα του προχείρου.
Επικόλληση Αιδική επικόλληση... | Shift Ctrl Π | Inserts a non-default representation of the clipboard contents into the document. Open a dialog presenting a list of the available formats from which the user can select. For example, if the clipboard contains a PNG file copied from a file manager, the image may be embedded in the document, or a link to the file inserted so that changes to the image on disk are always reflected in the document.
Αντιτγραφή | Ctrl Α | Creates a duplicate copy of the selected object. Do not prompt for a name for the duplicate object, but give it a sensible default (for example, `Αντιγραφή του ShoppingList.abw`) and allow the user to change it later. Place the duplicate copy as near the original as possible without overlapping it, even if this means breaking the current sort order within the container, so the user sees it immediately.
Διαγραφή | Διαγραφή | Removes the selected content without placing it on the clipboard. Should Delete be provided on a menu? The command is as obvious as using the arrow keys to move about.
Select Ωll | Ctrl Ω | Selects all content in the current document.
Δeselect All | Shift Ctrl Ω | Deselects all content in the current document. Only provide this item in situations when no other method of undoing selection is possible or apparent to the user. For example, in complex graphics applications where selection and deselection is not usually possible simply by using the cursor keys. Note: Do not provide Deselect All in text entry fields, as Shift Ctrl hex digit is used to enter unicode characters so its shortcut will not work.

##### Searching and Replacing

Search and Replace menu items

Label | Shortcut | Description
--- | --- | ---
Find... | Ctrl Α | Opens a window or dialog allowing the user to search for specific content in the current document. Highlight each match in-place. If the command allows the user to search for content in places other than the current document, for example other open documents, other documents on disk, or a remote network location, label this item Search instead of Find.
Find Neμt | Ctrl Μ | Selects the next instance of the last Find term in the current document. What to do if there is no next instance? Disable the menu item, which could be confusing, or pop up an annoying alert saying 'no matches found'?
Find Preθious | Shift Ctrl Μ | Selects the previous instance of the last Find term in the current document.
Εeplace... | Ctrl Β | Opens a window or dialog allowing the user to search for specific content in the current document, and replace each occurrence with new content. Replace is not always descriptive of what the user may do with the utility window. Formatting a section is also a possibility. Ideally, these would all be merged into a simple utility window

##### Inserting Special Objects

Where applicable, provide items on the Edit menu that insert special objects such as images, links, GUI controls or the current date and time.

If you have up to three types of object that can be inserted, add them as individual items to this menu, for example Insert Image, or Insert External Link. If you have between three and six types, place them on an Edit Insert submenu. If you have more than six, add a separate Insert menu to the menubar.

##### Προτιμήσεις χρήστη

Στοιχεία μενού για τις προτιμήσεις χρήστη

Label | Shortcut | Description
--- | --- | ---
Πρeτιμήσεις | Κανένα | Opens a παράθυρο προτιμήσεων allowing the user to change preferences for the whole application. Changes will apply to all running and subsequent instances of the application.

#### Προβολή

The View menu contains only items that affect the user's view of the current document. Do not place any items on the View menu that affect the the content of the current document. (Exception: View Reload may change the current contents if, for example, the document is a webpage that has been recently updated on the server).

Ένα αρχικό μενού προβολής

    Προβολή
    Γραμμή εργαλείων
    Αραμμή καταστάσεων
    ---
    Εικονίδια
    Λίστα
    Δεπτομέρειες
    ---
    Ααξινόμηση κατά...
    Αιλτράρισμα...
    ---
    Zστίαση Ctrl++
    ΣμίκΆυνση Ctrl+-
    Νανονικό μέγεθος Ctrl+=
    Σέλτιστη προσαρμογή
    ---
    Ενανέωση Ctrl+R

##### Εργαλειοθήκη και γραμμή κατάστασης

Στοιχεία μενού για την εργαλειοθήκη και τη γραμμή κατάστασης

Label | Shortcut | Description
--- | --- | ---
Γραμμή εργαλείων | Κανένα | Shows or hides the application's toolbar. This is a στοιχείο μενού πεδίου επιλογών. Include this item in every application that has a single toolbar. See for information on how to deal with multiple toolbars.

##### Παρουσιάση περιεχομένων

Στοιχεία μενού για την παρουσιάση των περιεχομένων

Label | Shortcut | Description
--- | --- | ---
Εικονίδια | Κανένα | Shows the contents of the selected container as rows and columns of large icons, each with its name underneath. This is a στοιχείο μενού για το κουμπί συχνοτήτων.
Λίστα | Κανένα | Shows the contents of the selected container as a list of small icons, possibly in multiple columns, each with its name on its right-hand side. This is a στοιχείο μενού για το κουμπί συχνοτήτων.
Δεπτομέρειες | Κανένα | Shows the contents of the selected container as single column of small icons, each with its name on its right-hand side. Additional columns give extra information about the object each icon represents, for example the size and modification date of files in a file manager. This is a στοιχείο μενού για το κουμπί συχνοτήτων. If your application has no need for both List and Details modes, use the List item for whichever of the two modes you support.
Ταξινόμηση κατά... | Κανένα | Sorts the contents of an container by user-specified criteria. Open a dialog allowing the user to choose from pre-defined sort keys (for example, Name, Size, or Modification Date in a file manager), or to specify their own if applicable.
Αιλτράρισμα... | Κανένα | Hides objects that are not of interest to the user. Open a dialog allowing the user to choose from a list of types of object they want to display, or to enter their own criteria (for example, a regular expression matched against a particular property of the objects).
Zεγέθυνση | Ctrl+ | Zooms into the document. Make the center of the new view the same as the center of the previous view. Should probably encourage apps to support Ctrl+= as well.
ΣμίκρυΆση | Ctrl- | Zooms out of the document. Make the center of the new view the same as the center of the previous view.
Νανονικό μέγεθος | Ctrl 0 | Resets the zoom level back to the default value, normally 100%. Make the center of the new view the same as the center of the previous view.
Σέλτιστη προσαρμογή | Κανένα | Makes the document fill the window. Show the document, or the current page of the document, at as high a zoom level as will fit in the window whilst allowing the whole document or page to be visible without scrolling.
Ενανέωση | Ctrl Ε | Redraws the current view of the document from local storage. For example, in a web browser application, this would redraw the page from the browser page cache.
Επανάληψη | Ctrl Ε | Redraws the current view of the document, checking the data source for changes first. For example, checks the web server for updates to the page before redrawing it. If your application requires both Reload and Refresh, use Shift Ctrl R as the shortcut for Reload.

#### Εισαγωγή

The Insert menu lists the type of special objects that can be inserted into the document at the current caret position, for example images, links, page breaks or GUI objects. Only provide this menu if you have more than about six types of object that can be inserted, otherwise place individual items for each type on the Edit menu.

A generic Insert menu

    Ειακοπή σελίδας
    Δμερομηνία και χρόνος…
    Αύμβολο…
    ---
    Αύλλο…
    Εραμμές…
    Cτήλες…
    ---
    Εικόνα…
    Μράφημα…
    ---
    Από αρχείο…
    Εμωτερικό σύνδεσμος…

The types of object will vary between applications, but the table below shows some common types that may be applicable.

Insert menu items

Label | Shortcut | Description
--- | --- | ---
Ειακοπή σελίδας | Κανένα | Inserts a page break at the caret position. Show the page break visually, for example as a dotted line across the page, unless the user has specifically requested not to see them.
Δμερομηνία και χρόνος… | Κανένα | Inserts the current date and/or time at the caret position. Open a dialog giving a choice of date and time formats. If applicable, also offer the choice to insert either as plain text, so the specified date and time will always appear in the document, or as a special field that will updated every time the document is opened, refreshed or printed.
Symbol... | Κανένα | Inserts a special symbol, such as a mathematical symbol or foreign character, at the caret position. Open a dialog showing all the available symbols as a table, from which the user can choose. The user must be able to add multiple symbols to the document at one time without having to close and re-open the dialog.
Αύλλο… | Κανένα | Adds a new sheet to the current workbook. Do not prompt for a name, but choose a sensible default (such as Φύλλο-2) and allow the user to change it later.
Εραμμές… | Κανένα | Adds new rows to a table in which one or more rows or cells are currently selected. Open a dialog asking whether to insert rows above or below the current selection, and for any other required information. Copy the row format from the last or first row of the current selection respectively, unless the user specifies otherwise.
Cτήλες… | Κανένα | Adds new columns to a table in which one or more columns or cells are currently selected. Open a dialog asking whether to insert columns to the left or right of the current selection, and for any other required information. Copy the column format from the right- or left-most column of the current selection respectively, unless the user specifies otherwise.
Εικόνα… | Κανένα | Inserts an image into the document from a file. Present a standard Open File dialog filtered on acceptable file types, from which the user can choose an image file to insert.
Μράφημα… | Κανένα | Inserts a graph into the document. Open a dialog or assistant that allows the user to build (or open from a file) a graph of their choice, using the current selection as an indication of which values, axis labels and data labels to use.
Από αρχείο… | Κανένα | Inserts an object from any acceptable file type, for example plain text, formatted text, or an image. Present a standard Open File dialog filtered on acceptable file types, from which the user can choose a file to insert.
Εμωτερικό σύνδεσμος… | Κανένα | Inserts a link to an object stored in a different file, or on a remote system. The object is not embedded in or saved with the document, only a link to it. Open a dialog in which the user can type or choose the name of the object, for example a filename or a webpage URL. Show the link in the document in as informative way as possible. For example, show a link to an image as a thumbnail of that image, unless the user specifies otherwise.

#### Μορφοποίηση

A Format menu contains commands to change the visual appearance of the document. For example, changing the font, color, or line spacing of a text selection.

The difference between these commands and those on the View menu is that changes made with Format commands are persistent and saved as part of the document, for example as HTML or RTF tags.

Ένα αρχικό μενού μορφοποίησης

    Αύπος…
    ---
    Αραμματοσειρά…
    Εαράγραφος…
    ---
    Σντονα Ctrl+B
    Ελάγια Ctrl+I
    Αε υπογράμμιση Ctrl+U
    ---
    Cελιά…
    Λίστα…
    ---
    Layer...
    Page...

Items found on the Format will be very application-specific, but some common items are listed in the table below.

Format menu items

Label | Shortcut | Description
--- | --- | ---
Αύπος… | Κανένα | Sets the style attributes of the selected text or objects either individually or to a named, predefined style. Open a dialog allowing the user to set attributes such as bold, italic, size and spacing individually, and to create their own named styles where applicable.
Αραμματοσειρά… | Κανένα | Sets the font properties of the selected text or objects. Open a dialog allowing the user to choose font, size, style, color, or whatever other attributes are applicable.
Εαράγραφος… | Κανένα | Sets the properties of the selected paragraph. Open a dialog allowing the user to choose style, line spacing, tabulation, or whatever other attributes are applicable.
Σντονα | Ctrl Σ | Toggles the boldness of the current text selection on or off. If some of the selection is currently bold and some is not, this command should bolden the selected text.
Ελάγια | Ctrl Ε | Toggles the italicisation of the current text selection on or off. If some of the selection is currently italicised and some is not, this command should italicise the selected text.
Αε υπογράμμιση | Ctrl Α | Toggles underlining of the current text selection. If some of the selection is currently underlined and some is not, this command should underline the selected text.
Cελιά… | Κανένα | Sets the properties of the selected table cells. Open a dialog allowing the user to choose alignment, borders, shading, text style, number format, or whatever other attributes are applicable.
Λίστα… | Κανένα | Sets the properties of the selected list, or turns the selected paragraphs into a list if they are not already formatted as such. Open a dialog allowing the user to choose number or bullet style, spacing, tabulation, or whatever other attributes are applicable.
Layer... | Κανένα | Sets the properties of all or selected layers of a multi-layered document. Open a dialog allowing the user to choose name, size, visibility, opacity, z-ordering, or whatever other attributes are applicable.
Page... | Κανένα | Sets the properties of all or selected pages of the document. Open a dialog allowing the user to choose paper size, orientation, columns, margins, or whatever other attributes are applicable.

#### Σελιδοδείκτες

Provide a Bookmarks menu in any application that allows the user to browse files and folders, help documents, web pages or any other large information space.

Εικονίδια

Show icons for bookmark entries on the Bookmarks menu that indicate the type of the bookmark, even if the user has globally turned off icons for other menu items on the desktop.

A generic Bookmarks menu

    Σελιδοδείκτες
    Ωdd Bookmark   CtrlΔ
    Εdit Bookmarks CtrlΣ

Στοιχεία μενού σελιδοδεικτών

Label | Shortcut | Description
--- | --- | ---
Ωdd Bookmark | Ctrl Δ | Adds a bookmark for the current document to the default bookmark list. Do not pop up a dialog asking for a title or location for the bookmark, instead choose sensible defaults (such as the document's title or filename as the bookmark name) and allow the user to change them later using the Επεξεργασία σελιδοδεικτών feature.
Εdit Bookmarks | Ctrl Σ | Επιτρέπει στο χρήστη να επεξεργάζεται τη λίστα με τους σελιδοδείκτες της εφαρμοφής. Ανοίγει ένα παράθυρο στο οποίο ο χρήστης μπορεί να οργανώσει τους σελιδοδείκτες σε μία ιεραρχία, να μεταφέρει, να αντιγράψει και να διαγράψει σελιδοδείκτες και να τροποποιήσει τις ιδιότητές τους.
Λίστα σελιδοδεικτών | Κανένα | Η τρέχουσα λίστα σελιδοδεικτών του χρήστη για την εφαρμογή.

#### Μετάβαση

A Go menu provides commands for quickly navigating around a document or collection of documents, or an information space such as a directory structure or the web.

The contents of the menu will vary depending on the type of application. Different standard menus are presented here for browser-based and document-based applications , but your application may require a combination of both.

Ένα αρχικό μενού μετάβασης για μία εφαρμογή περιήγησης

    Μετάβαση
    Σίσω Alt+Left
    Αμπρός Alt+Right
    Αάνω Alt+Up
    ---
    Βρχή Alt+Home
    Λοποθεσία… Ctrl+L

Στοιχεία μενού για μετάβαση για μία εφαρμογή περιήγησης

Label | Shortcut | Description
--- | --- | ---
Σack | Alt Αριστερά | Μεταβαίνει στο προηγούμενο έγγραφο στη λίστα με το ιστορικό του περιηγητή δικτύου.
Αμπρός | Alt Δεξιά | Μεταβαίνει στο επόμενο έγγραφο στη λίστα με το ιστορικό του περιηγητή δικτύου.
Αάνω | Alt Πάνω | Μεταβαίνει στο γονικό έγγραφο (ή φάκελο) του τρέχοντος εγγράφου (φακέλου). Για ένα περιηγητή εγγράφων, όπως μία διαδικτυακή εφαρμογή προβολής βοήθειας, αυτό συνήθως σημαίινει πλοήγηση στην επικαλυπτόμενη σελίδα για την υποενότητα, ενότητα, κεφάλαιο ή τα περιεχόμενα.
Βαρχή | Alt Αρχή | Μεταβαίνει στην αρχική σελίδα που καθορίστηκε από το χρήστη ή την εφαρμογή.
Λοποθεσία… | Ctrl Λ | Navigates to a user-specified URI. Open a dialog into which the user can type a suitable URI, or select one from a list where applicable (for example, a file selection dialog for applications that can handle file:// URIs).

Ένα γενικό μενού μετάβασγς για εφαρμογές που βασίζονται σε έγγραφα

    Μετάβαση
    Εροηγούμενη σελίδα PgUp
    Νπόμενη σελίδα PgDn
    Μτάβαση στη σελίδα…
    -
    Αώτη σελίδα Ctrl+Home
    Λελευταία σελίδα Ctrl+End

Στοιχεία μενού για μετάβαση για μία εφαρμογή που βασίζεται σε έγγραφα

Label | Shortcut | Description
--- | --- | ---
Εροηγούμενη σελίδα | PageUp | Μεταβαίνει στην προηγούμενη σελίδα του εγγράφου.
Νπόμενη σελίδα | PageDown | Μεταβαίνει στην επόμενη σελίδα του εγγράφου.
Μτάβαση στη σελίδα… | Κανένα | Navigates to a user-specified page number. Open a dialog into which the user can type a page number. Text-based applications may also include a Go to Line... menu item, which allows the user to jump to a specified line number.
Αρώτη σελίδα | Ctrl Αρχή | Μεταβαίνει στην πρώτη σελίδα στο έγγραφο.
Λελευτεαία σελίδα | Ctrl End | Μεταβαίνει στην τελευταία σελίδα στο έγγραφο.

#### Παράθυρα

The Windows menu contains commands that apply to all of the application's open windows. Only use a Windows menu in multiple document interface (MDI) applications.

Εφαρμογές MDI

The use of MDI is discouraged, as they have a number of inherent usability problems.

You may also label this menu Documents, Buffers, or similar according to the type of document handled by your application.

The last items on this menu are a numbered list of the application's primary windows, for example 1shoppinglist.abw. Selecting one of these items raises the corresponding window.

Ένα αρχικό μενού παραθύρων

    Παράθυρα
    Αποθήκευση όλων
    Cλείσιμο όλων

Στοιχεία μενού παραθύρων

Label | Shortcut | Description
--- | --- | ---
Αποθήκευση όλων | Κανένα | Saves all open documents. If any documents have no current filename, prompt for a filename for each one in turn using the standard Save dialog.
Cλείσιμο όλων | Κανένα | Closes all open documents. If there are any unsaved changes in any documents, post a ειδοποίηση επιβεβαίωσης for each one in turn.
1. first open window title 2. second open window title κλπ. | Κανένα | Φέρνει στο προσκήνιο το αντίστοιχο παράθυρο της λίστας παραθύρων.

#### Βοήθεια

The Help menu provides access to all online documentation for your application. This includes both the user guide, and the About window which includes a brief description of your application's functionality.

Ένα αρχικό μενού βοήθειας

    Βοήθεια

    Cεριεχόμενα F1
    Ωερί

Στοιχεία μενού βοήθειας

Label | Shortcut | Description
--- | --- | ---
Cεριεχόμενα | F1 | Opens the default help browser on the contents page for the application.
Ωερί | Κανένα | Opens the About dialog for the application. Use the standard dialog provided by the GNOME libraries, which contains the name and version number of the application, a short description of the application's functionality, author contact details, copyright message and a pointer to the licence under which the application is made available.

We originally wanted a Search item on here too, but it's not technically possible to implement it right now.

## Εργαλειοθήκες

A toolbar is a strip of controls that allows convenient access to commonly-used functions. Most toolbars only contain graphical buttons, but in more complex applications, other types of controls such as dropdown lists, can also be useful.

Example toolbar from a simple mail application

Example mail application toolbar

Careful and consistent toolbar design speeds up the user's task by giving direct access to functions that would otherwise be hidden on a menu. Use them only for the most important functions, however. Having too many toolbar controls reduces their efficiency by making them harder to find, and too many rows of toolbars reduces the amount of screen space available to the rest of the application.

### Εμφάνιση και περιεχόμενο

The effectiveness of toolbars is increased by maintaining a level of consistency between different applications. The toolbar is one of the first parts of your application that a user will see the first time they run it, so by providing a toolbar that looks familiar to them, you can immediately make them feel comfortable about using your application.

As well as following the recommendations and examples given in this section, look at the toolbars in other well-designed GNOME 2.0 applications for guidance when deciding what— and what not— to put on your application's toolbar.

However many toolbars or toolbox windows your application offers, provide one main toolbar by default that contains a representative subset of the application's overall functionality. Many of the buttons on this toolbar will be the same regardless of the type of application.

For example, the main toolbar in an office application will nearly always have New, Open and Save as its first three toolbar buttons. Similarly, the first few buttons in a browser application should always include Back, Forward, Stop and Reload, in that order.

Κατευθυντήριες γραμμές

- Place only the most commonly-used application functions on your toolbars. Don't just add buttons for every menu item.

- By default, have your toolbars appear directly below the main menu bar.

- Allow toolbars to be turned on and off in your application's Preferences dialog and by using the View Toolbar menu item. If there is more than one toolbar, they are turned on and off by individual entries in the View Toolbar submenu.

- All functions that appear on your toolbars must also accessible via the main menu bar, either directly (i.e. an equivalent menu item) or indirectly (e.g. in the Options Settings dialog).

- Arrange toolbar buttons in the same order and groupings as their equivalents on the main menu bar. In particular, always group sets of mutually-exclusive toolbar buttons.

- Don't add buttons for Help, Close or Quit to your toolbar by default, as these are rarely used and the space is better used for more useful controls. Similarly, only provide buttons for Undo, Redo and the standard clipboard functions if there is space on the toolbar to do so without sacrificing more useful, application-specific controls.

- Provide options to show toolbar buttons as text, graphics or both— see for the menus to use for controlling toolbar display. Also provide an option to return all toolbars in your application to the control center default for this setting.

- Allow users to configure toolbars to contain their own selection of commands, in whatever order they choose. Provide an option in the configuration dialog to return the toolbars to their default configuration.

- Save your application's toolbar position and contents as part of the application configuration, and restore them when the application is restarted.

#### Κάθετες εργαλειοθήκες

In general, don't use vertical toolbars. The eye does not scan vertically as well as it does horizontally, groups of mutually exclusive buttons are less obvious when arranged vertically, and showing button labels is more awkard and less space-efficient. Also, some toolbar controls just cannot be used vertically, such as dropdown lists.

Only consider using a vertical toolbar if:

- the configuration of the application window means there would be a lot of wasted space if a horizontal toolbar was used instead, or

- your application would otherwise require three or more rows of toolbars to appear below the main menu bar by default. Note however that in this situation, the better alternative is usually to display fewer toolbars by default.

If you must use a vertical toolbar, ensure the user can configure it to appear horizontally if they prefer.

#### Media Player Toolbars

Many applications are able to play sound or video clips. For consistency, always present the buttons that control playback in the same order and with the same stock icons.

Κατευθυντήριες γραμμές

- Show separate Stop and Pause buttons. Do not change Play to Pause while the clip is playing.

Suggested order: prev,rew,rec,play,stop,pause,fwd,next,eject.

gtk still doesn't have stock media icons, but CD player, sound recorder etc. all register icons with media-* IDs, should mention that here.

Should maybe also suggest here how to show volume and timeline controls.

### Controlling Display and Appearance

For each toolbar in your application, the user should be able to choose whether or not to show that toolbar, and whether to show its contents as icons only, text only or both.

Κατευθυντήριες γραμμές

- Allow the user to override the control center toolbar defaults for your particular application in the application's Preferences dialog. In particular, ensure that the user can:

  - separately choose to show each toolbar in your application as icons only, text only, or both

  - return the icon/text/both status for all toolbars in your applicaton to the system default

  - choose to show text labels either to the side of some or below all toolbar icons, and to return this setting to the system default

  - return the layout and ordering of all toolbars in your application to the application default

- If your application has a single toolbar, allow the user to turn it on or off with a View Toolbar check box menu item.

- If your application has two or three toolbars, allow the user to turn them on or off individually by placing a menu item for each one on the application's View menu. For example, Main Toolbar, Drawing Toolbar, Formatting Toolbar. Place the items together in a single group on the menu, with Main Toolbar first (if your application has one), followed by the others in alphabetical order.

- If your application has more than three toolbars, allow the user to turn them on or off individually by placing a menu item for each one in a Toolbars sub-menu on the application's View menu. Place the Main Toolbar item first (if your application has one), followed by the others in alphabetical order.

  Example View menu fragments for applications with one toolbar (left), two or three toolbars (middle), or four or more toolbars (right)

  Example View menu for application with single toolbar

### Labels and Tooltips

Most controls that appear on your toolbar will require a text label that appears on, below or beside it. Keep this description as short as possible, preferably a single verb. For example, Open or Undo.

Every control that appears on your toolbar should have a tooltip, whether or not that control has an associated text label. The tooltip should be a concise description of the control, but should provide more information than its text label where possible. For example, Open an existing document, or Undo last operation.

Κατευθυντήριες γραμμές

- For buttons that correspond directly to menu items, make the text label the same as the menu item, but without any trailing ellipsis. For example, Open, Save.

- Do not provide access keys for toolbar buttons. Since toolbars are in the same keyboard focus context as the menubar, it would be too difficult to provide unique access keys for every menu title and toolbar control. Toolbars are primarily intended as a shortcut for mouse users, although they are keyboard-navigable for accessibility reasons.

- If your toolbar is configured to show labels below button icons, show a label for every control on the toolbar. For example:

  Εργαλειοθήκη με ετικέτες σε όλα τα κουμπιά

  Toolbar showing labels under all controls

- If your toolbar is configured to show labels beside button icons rather than below them (using the "priority text" setting), do not show labels for every button. Show labels only for the buttons that will be most-frequently used. Choose no more than four such icons on any one toolbar, otherwise the effect will be diluted and the toolbar will become very wide. For example:

  Toolbar with "priority text" labels beside the first few buttons only

  Toolbar with "priority text" labels beside the first few items only

  If you are unsure which buttons will be most frequently used, choose the first few buttons on your toolbar and provide labels for those only.

- Ensure all toolbar controls have tooltips. The tooltip should be more descriptive than the corresponding menu item, if it has one, but still concise. For example, Create new document for the Open toolbar button. Use sentence capitalization for tooltips—see for more information.

## Έλεγχοι

### Using Controls Effectively

GNOME provides a set of controls, also known as widgets, which allow users to interact with your applications. Using these controls appropriately and not altering their standard behavior is important. This allows users to predict the effects of their actions, and thus learn to use your application more quickly and efficiently. Controls that behave in non-standard ways break the user's mental model of how your application works, and dilute the meaning of the interface's visual language.

### Ορολογία

Although they are known as "widgets" in the GNOME APIs and developer documentation, do not use this term in your user interface or user documentation. Refer to them by their specific names (for example, "buttons" or "menus"), or by the generic name "controls".

### Ευαυσθησία

Sometimes it does not make sense to allow the user to interact with a control in the current context, for example, to press a Paste button when the clipboard is empty. At these times, make the control insensitive to minimize the risk of user error. While a control is insensitive, it will appear dimmed and will not be able to receive the focus, although assistive technologies like screenreaders will still be able to detect and report it.

It is usually better to make a control insensitive than to hide it altogether. This way, the user can learn about functionality they may be able to use later, even if it is not available right now.

Two check boxes: sensitive (top) and insensitive (bottom)

Screenshot showing the visual appearance of sensitive and insensitive check box controls

#### Κλειδωμένοι έλεγχοι

In a network-managed environment, like a computer lab, system administrators usually want to "lock down" the values of certain settings, or remove them from the user interface altogether. This makes it easier for them to troubleshoot any problems that their users may encounter. In GNOME, the correct way for the system administrator to do this is by restricting write access to the GConf keys corresponding to those settings.

When you are designing your application, consider which settings a system administrator might want to make unavailable to users. These may typically include:

- Settings that, if set wrongly, could prevent the application from functioning at all. For example, proxy settings in a network application.

- Settings that could refer to networked resources. For example, the Templates directory in an office application, where shared stationery such as fax cover sheets might be stored.

- Settings that customize the user interface, other than those required for accessibility. For example, certain menu, keyboard or toolbar customization options.

Your application needs to decide every time these controls are displayed whether or not they are available for editing, depending on the writeable state of the GConf key that holds its value. In the simplest case, your code for each control could look like that in the example below.

Sample code fragment showing how to make a GConf-locked control insensitive

    if (!gconf_key_is_writable (http_proxy))
            gtk_widget_set_sensitive (http_proxy_field, FALSE);

Include a section for system administrators in your user guide, explaining which settings they can lock, and their corresponding GConf keys.

Explain to the user why these controls cannot be edited at this time. You can do this with static text, tooltips or online help, depending on the situation. For example:

Example of a dialog with locked controls

Screenshot showing disabled proxy controls in a web browser's property dialog, under the caption "Only the system administrator can change these settings"

Note that although they cannot be edited, the settings are still visible and selectable, and may be copied to the clipboard.

### Πεδία εισόδου κειμένου

Text entry fields are used for entering one or more lines of plain text. In GTK 2, the GtkEntry control is used for single-line text entry, and GtkTextView for multiple-line text entry.

Single and multi-line entry fields

Screenshot of part of a dialog, containing both single and multi-line entry fields

Κατευθυντήριες γραμμές

- Label the entry field with a text label above it or to its left, using sentence capitalization. Provide an access key in the label that allows the user to give focus directly to the entry field.

- Right-justify the contents of entry fields that are used only for numeric entry, unless the convention in the user's locale demands otherwise. This is useful in windows where the user might want to compare two numerical values in the same column of controls. In this case, ensure the right edges of the relevant controls are also aligned.

- When the user gives focus to an entry field using the keyboard, place the text cursor at the end of the existing text and highlight its contents (but don't overwrite the existing PRIMARY clipboard selection). This makes it easy to immediately overtype or append new text, the two most common operations performed on entry fields.

- Size text entry fields according to the likely size of the input. This gives a useful visual cue to the amount of input expected, and breaks up the dialog making it easier to scan. Don't make all the fields in the dialog the same width just to make everything line up nicely.

- In an instant-apply property or preference window, validate the contents of the entry field when it loses focus or when the window is closed, not after each keypress. Exception: if the field accepts only a fixed number of characters, such as a hexadecimal color code, validate and apply the change as soon as that number of characters have been entered.

- Provide a static text prompt for text boxes that require input in a particular format or in a particular unit of measurement. For example:

  Text entry field with static text prompt

  A text entry field in which the user must input a time, with the label "hh:mm" beside it to indicate the required format

- Where possible, provide an additional or alternative control that limits the required input to the valid range. For example, provide a spinbox or slider if the required input is one of a fixed range of integers, or provide access to a GtkCalendar control if the user has to enter a valid date:

  Text entry field requiring a date as input, with a button beside it to pop up a GtkCalendar control to simplify the task

  A text entry field in which the user must input a date, with a button labelled "Choose" beside it that opens a GtkCalendar control to simplify the task

  This is less error-prone than expecting the user to format their text input in some arbitrary format. You may still want to provide the entry field control as well, however, for expert users who are familiar with the required format.

- If you implement an entry field that accepts only keystrokes valid in the task context, such as digits, play the system warning beep when the user tries to type an invalid character. If the user types three invalid characters in a row, display an alert that explains the valid inputs for that textfield.

- The cursor blink rate is globally defined by the XSettings "gtk-cursor-blink" and "gtk-cursor-blink-time". Standard toolkit controls use these and they must not be altered in applications by any means. New controls with text cursors must respect these global values.

#### Behavior of Return key

Normally, pressing Return in a dialog should activate the dialog's default button, unless the focused control uses Return for its own purposes. You should therefore set the `activates-default` property of most entry fields to TRUE. (Note that GtkTextView does not have such a setting— pressing Return always inserts a new line.).

However, if your dialog contains several entry fields that are usually filled out in order, for example Name, Address and Telephone Number, consider setting the `activates-default` property on those entry fields to FALSE. Pressing Return should then move focus on to the next control instead. Doing this will help prevent the user from accidentally closing the window before they have entered all the information they wanted to.

As a further safeguard, remember not to set the default button in a dialog until the minimum amount of required information has been entered, for example, both a username and a password in a login dialog. Again, in this case you should move focus to the next control when the user presses Return, rather than just ignoring the keypress.

If you need to provide a keyboard shortcut that activates the default button while a GtkTextView control has focus, use Ctrl Return.

Note

Gtk does not currently move focus to the next control when Return is pressed and either `activates-default=FALSE`, or there is no default button in the window. For now, Return does nothing in these situations, so remember to implement the focus change behavior yourself.

#### Behavior of Tab key

Normally, pressing Tab in a single-line entry field should move focus to the next control, and in a multi-line entry field it should insert a tab character. Pressing Ctrl Tab in a multi-line entry field should move focus to the next control.

If you need to provide a keyboard shortcut that inserts a tab character into a single line entry field, use Ctrl Tab. You are unlikely to find many situations where this is useful, however.

There is a patch in bugzilla (bugid=53763) that adds an `allow_tab_characters` function to GtkEntry controls. This allows you to specify on a per-control basis whether Tab should insert a tab character or not. It is currently not known whether this patch is likely to make it into a future version of gtk.

### Πεδία περιστροφής

A spin box is a text box that accepts a range of values. It incorporates two arrow buttons that allow the user to increase or decrease the current value by a fixed amount.

Παράδειγμα πεδίου περιστροφής

A simple spin box used to specify the spacing between applets on a panel

Κατευθυντήριες γραμμές

- Use spin boxes for numerical input only. Use a list or option menu when you need the user to select from fixed data sets of other types.

- Use a spin box if the numerical value is meaningful or useful for the user to know, and the valid input range is unlimited or fixed at one end only. For example, a control for specifying the number of iterations of some action, or a timeout value. If the range is fixed at both ends, or the numerical values are arbitrary (for example, a volume control), use a slider control instead.

- Label the spin box with a text label above it or to its left, using sentence capitalization. Provide an access key in the label that allows the user to give focus directly to the spin box.

- Right-justify the contents of spin boxes, unless the convention in the user's locale demands otherwise. This is useful in windows where the user might want to compare two numerical values in the same column of controls. In this case, ensure the right edges of the relevant controls are also aligned.

### Ολισθητές

A slider allows the user to quickly select a value from a fixed, ordered range, or to increase or decrease the current value. The control looks like the type of slider that you might find on an audio mixing desk or a hi-fi's graphic equalizer. In gtk, you implement a slider using the GtkHScale or GtkVScale controls, for horizontal or vertical sliders respectively.

Ένας απλός έλεγχος πλοήγησης

A slider control used to change the stereo audio balance between left and right speakers

Κατευθυντήριες γραμμές

- Χρήση πλοήγησης όταν:

  - adjusting the value relative to its current value is more important than choosing an absolute value. For example, a volume control: the average user will usually think about turning the volume up or down to make a sound louder or quieter, rather than setting the peak output to a specific decibel value.

  - it is useful for the user to control the rate of change of the value in real time. For example, to monitor the effects of a color change in a live preview window as they drag the RGB sliders.

- Label the slider with a text label above it or to its left, using sentence capitalization. Provide an access key in the label that allows the user to give focus directly to the slider.

- Mark significant values along the length of the slider with text or tick marks. For example the left, right and center points on an audio balance control in .

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

  Έλεγχοι ολισθητών με συνδεδεμένα πεδία περιστροφής

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

### Κουμπιά

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

Τυπικά κουμπιά σε ένα διάλογο μοντάλ

Τα κουμπιά Εντάξει και Ακύρωση σε ένα διάλογο μοντάλ

Κατευθυντήριες γραμμές

- Label all buttons with imperative verbs, using header capitalization. For example, Save, Sort or Update Now. Provide an access key in the label that allows the user to directly activate the button from the keyboard.

- Όταν πιέσει ένα κουμπί, ο χρήστης αναμενει να δει το αποτέλεσμα της ενέργειάς του εντός 1 δευτερολέπτου. Για παράδειγμα, κλείνοντας το παράθυρο ή ανο ίγοντας ένα άλλο. Δείτε την σχετικά με οδηγίες για τις ενέργειας που απαιτούνται αν η εφαρμογή δεν αποκρίνεται σε αυτό αρκετά γρήγορα.

- Use an ellipsis (...) at the end of the label if the action requires further input from the user before it can be carried out. For example, Save As... or Find.... Do not add an ellipsis to commands like Properties, Preferences, or Settings, as these open windows that do not require further input.

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

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

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

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

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

In a dialog, one button may be made the default button, which is shown with a different border and is activated by pressing Return. Often this will be the OK or equivalent button. However, if pressing this button by mistake could cause a loss of data, do not set a default button for the window. Do not make Cancel the default button instead. See for more information.

If it does not make sense to have a default button until several fields in the dialog have been correctly completed—for example, both the Username and Password fields in a login dialog—do not set the default button until they have both been completed.

### Πεδία επιλογών

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

Μία τυπική ομάδα πεδίων ελέγχου

Μία τυπική ομάδα πέντε πεδίων ελέγχου σε ένα παράθυρο διαλόγου

Κατευθυντήριες γραμμές

- Do not initiate an action when the user clicks a check box. However, if used in an instant-apply property or preference window, update the setting represented by the check box immediately.

- Clicking a check box should not affect the values of any other controls. It may sensitize, insensitize, hide or show other controls, however.

- If toggling a check box affects the sensitivity of other controls, place the check box immediately above or to the left of the controls that it affects. This helps to indicate that the controls are dependent on the state of the check box.

- Use sentence capitalization for check box labels, for example Use custom font.

- Label check boxes to clearly indicate the effects of both their checked and unchecked states, for example, Show icons in menus. Where this proves difficult, consider using two radio buttons instead so both states can be given labels. For example:

  Ambiguous check box (top), radio buttons work better in this case (bottom)

  Two images: one showing a single check box ambiguously labelled "Progress bar in left of statusbar", the other making the choice explicit with radio buttons labelled "Left" and "Right" under the heading "Status bar progress indicator position:"

  The single check box in this example is ambiguous, as it is not clear where the "progress indicator" will go if the box is unchecked. Two radio buttons are better in this case, as they make the options clear.

- Provide an access key in all check box labels that allows the user to set or unset the check box directly from the keyboard.

- If the check box represents a setting in a multiple selection that is set for some objects in the selection and unset for others, show the check box in its mixed state. For example:

  Check boxes (right) showing properties for a multiple selection of files in Nautilus (left)

  Check boxes showing the Hidden, Readable and Writeable states of two selected files in Nautilus. Both files are hidden, neither are writeable, but one is readable. The Readable check box is therefore shown in its mixed state.

  In this example, both selected files are hidden (since their filenames start with "."), and the emblems on their icons show that neither file is writeable, but one is readable. The Readable check box is therefore shown in its mixed state. At time of writing, the exact visual appearance of a mixed state check box in gtk was undecided.

  Όταν ένα πεδίο ελέγχου βρίσκεται στη μικτή κατάστασή του:

  - clicking the box once should check the box, applying that setting (when confirmed) to all the selected objects

  - clicking the box a second time should uncheck the box, removing that setting (when confirmed) to all the selected objects

  - clicking the box a third time should return the box to its mixed state, restoring each selected object's original value for that setting (when confirmed)

- Label a group of check boxes with a descriptive heading above or to the left of the group.

- Use a frame around the group if necessary, but remember that blank space often works just as well and results in a less visually-cluttered dialog.

- Do not place more than about eight check boxes under the same group heading. If you need more than eight, try to use blank space, heading labels or frames to divide them into smaller groups. Otherwise, consider using a check box list instead— but you probably also need to think about how to simplify your user interface.

- Try to align groups of check boxes vertically rather than horizontally, as this makes them easier to scan visually. Use horizontal or rectangular alignments only if they greatly improve the layout of the window.

### Κουμπιά συχνοτήτων

Radio buttons are used in groups to select from a mutually exclusive set of options. Only one radio button within a group may be set at any one time. As with check boxes, do not use radio buttons to initiate actions.

A typical group of radio buttons

A typical group of three radio buttons in a dialog

Κατευθυντήριες γραμμές

- Only use radio buttons in groups of at least two, never use a single radio button on its own. To represent a single setting, use a check box or two radio buttons, one for each state.

- Exactly one radio button should be set in the group at all times. The only exception is when the group is showing the properties of a multiple selection, when one or more of the buttons may be in their mixed state.

- Do not initiate an action when the user clicks a radio button. However, if used in an instant-apply property or preference window, update the setting represented by the radio button immediately.

- Clicking a radio button should not affect the values of any other controls. It may sensitize, insensitize, hide or show other controls, however.

- If toggling a radio button affects the sensitivity of other controls, place the radio button immediately to the left of the controls that it affects. This helps to indicate that the controls are dependent on the state of the radio button.

- Use sentence capitalization for radio button labels, for example Switched movement. Provide an access key in the label that allows the user to set the radio button directly from the keyboard.

- If the radio button represents a setting in a multiple selection that is set for some objects in the selection and unset for others, show the radio button in its mixed state. For example:

  Radio buttons (right) showing properties for a multiple selection of shapes in a drawing application (left)

  Radio buttons showing the Thick, Thin and Dashed drawing styles of two selected shapes in a drawing application. One shape is drawn in the thick style, the other in the dashed style. The Thick and Dashed radio buttons are therefore shown in their mixed state, and the Thin radio button is unset.

  At time of writing, the exact visual appearance of a mixed state radio button in gtk was undecided. In this situation, clicking any radio button in the group should set the clicked button, and unset all the others. Thereafter, the group should behave like a normal radio button group— there is no way to reset a radio button to its mixed state by clicking on it. Provide a Reset button or equivalent in the window that allows the previous mixed settings to be restored without closing the window or cancelling the dialog.

- Label a group of radio buttons with a descriptive heading above or to the left of the group.

- Use a frame around the group if necessary, but remember that blank space often works just as well and results in a less visually-cluttered dialog.

- Do not place more than about eight radio buttons under the same group heading. If you need more than eight, consider using a single-selection list instead— but you probably also need to think about how to simplify your user interface.

- Try to align groups of radio buttons vertically rather than horizontally, as this makes them easier to scan visually. Use horizontal or rectangular alignments only if they greatly improve the layout of the window.

### Κουμπιά εναλλαγής

Toggle buttons look similar to regular Buttons, but are used to show or change a state rather than initiate an action. A toggle button's two states, set and unset, are shown by its appearing "pushed in" or "popped out" respectively.

Μία τυπική ομάδα κουμπιών εναλλαγής

A group of four toggle buttons representing a choice of measurement units: inches, centimeters, feet and meters

Κατευθυντήριες γραμμές

- Do not use groups of toggle buttons in dialogs unless space constraints force you to do so, or you need to provide consistency with a toolbar in your application. Check boxes or radio buttons are usually preferable, as they allow more descriptive labels and are less easily-confused with other types of control.

- Only use toggle buttons in groups, so they are not mistaken for regular buttons. Make the group behave like either a group of check boxes or a group of radio buttons, as required.

- Provide an access key in the label of all toggle buttons that allows the user to set or unset the button directly from the keyboard.

- Label a group of toggle buttons with a descriptive heading above or to the left of the group, as you would with a group of check boxes or radio buttons.

- Use a frame around the group of buttons if necessary, but remember that blank space often works just as well and results in a less visually-cluttered dialog.

- Try to align groups of toggle buttons horizontally rather than vertically. This is how toggle buttons normally appear on a toolbar, so the user will be more familiar with this arrangement.

- Do not leave any space between toggle buttons in a group, otherwise they may look unrelated or may be mistaken for regular buttons.

- Use header capitalization for toggle button labels, for example No Wallpaper, Embossed Logo.

- If your toggle button can display text, an icon, or both, choose which to display at runtime according to the user's setting in the GNOME Menus and Toolbars preference dialog.

- Use the same text or graphical label for a toggle button whether it is set or unset.

- If the toggle button represents a setting in a multiple selection that is set for some objects in the selection and unset for others, show the button in its mixed state. For example:

  Toggle buttons (right) showing properties for a multiple selection of shapes in a drawing application (left)

  Toggle buttons showing the Thick, Thin and Dashed drawing styles of two selected shapes in a drawing application. One shape is drawn in the thick style, the other in the dashed style. The Thick and Dashed toggle buttons are therefore shown in their mixed state, and the Thin toggle button is unset.
  At time of writing, the exact visual appearance of mixed state toggle buttons was undecided. A mixed state toggle button should behave exactly as a mixed state check box or radio button, depending on whether the toggle button choices are independent or mutually exclusive, respectively.

### Εκπίπτουσες λίστες

Drop-down lists are used to select from a mutually exclusive set of options. They can be useful when there is insufficient space in a window to use a group of radio buttons or a single-selection list, with which they are functionally equivalent.

A drop-down list showing current selection (left) and the list of available choices when clicked on (right)

Two images, one of a drop-down list displaying its current setting, and the other showing its popup menu of available choices when clicked on

Επεξηγήσεις:

- Do not use drop-down lists with fewer than three items, or more than about ten. To offer a choice of two options, use radio buttons or toggle buttons. To offer a choice of more than ten options, use a list.

- Do not initiate an action when the user selects an item from an drop-down list. However, if used in an instant-apply property or preference window, update the setting that the menu represents immediately.

- Selecting an item from a drop-down list should not affect the values of any other controls. It may sensitize, insensitize, hide or show other controls, however.

- Label the drop-down list with a text label above it or to its left, using sentence capitalization. Provide an access key in the label that allows the user to give focus directly to the drop-down list.

- Use sentence capitalization for drop-down list items, for example Switched movement

- Assign an access key to every drop-down list item. Ensure each access key is unique within the enclosing window or dialog, not just within the menu.

- Do not assign shortcut keys to drop-down list items by default. The user may assign their own shortcut keys in the usual way if they wish, however.

- Do not use a drop-down list in a situation where it may have to show a property of a multiple selection, as drop-down lists have no concept of mixed state. Use a group of radio or toggle buttons instead, as these can show set, unset or mixed states.

- Μην χρησιμοποιείτε υπομενού σε μία εκπίπτουσα λίστα.

You should normally use radio buttons or a list instead of drop-down lists, as those controls present all the available options at once without any further interaction. However, drop-down lists may be preferable in a window where:

- δεν υπάρχει διαθέσιμος χώρος

- η λίστα επιλογών που ενδεχομένως αλλάξουν με το χρόνο

- the contents of the hidden part of the menu are obvious from its label and the one selected item. For example, if you have an option menu labelled "Month:" with the item "January" selected, the user might reasonably infer that the menu contains the 12 months of the year without having to look.

Drop-down lists can also be useful on toolbars, to replace a group of several mutually-exclusive toggle buttons.

### Πεδία εκπιπτόντων συνδυασμών

Drop-down combination boxes combine a text entry field and a dropdown list of pre-defined values. Selecting one of the pre-defined values sets the entry field to that value.

A drop-down combination box before and after its dropdown list is displayed

Two images, one of a drop-down combination box entry field displaying its current selection, and the other showing its dropdown list of available choices when clicked on

Κατευθυντήριες γραμμές

- Only use a drop-down combination box instead of a list, drop-down list or radio button group when it is important that the user be able to enter a new value that is not already amongst the list of pre-defined choices.

- Do not initiate an action when the user selects an item from the list in a drop-down combination box. If used in an instant-apply property or preference window, update the setting represented by the drop-down combination box immediately if possible. If this isn't possible due to the contents of the entry field being invalid while the user is still typing into it, update the related setting when the drop-down combination box loses focus instead.

- If the user types a value into the drop-down combination box that is not already in the drop-down list, add it to the list when the drop-down combination box loses focus so they can select it next time.

- Interpret user input into a drop-down combination box in a case-insensitive way. For example, if the user types `blue`, `Blue` and `BLUE` into the same drop-down combination box on different occasions, only store one of these in the combo's dropdown list, unless your application makes a distinction between the different forms (which is usually a bad idea).

- Label the drop-down combination box with a text label above it or to its left, using sentence capitalization. Provide an access key in the label that allows the user to give focus directly to the drop-down combination box.

- Use sentence capitalization for the dropdown list items, for example Switched movement.

### Γραμμές κύλισης

Often an object (such as a document or a list) will not be fit within the confines of its viewer control. In these cases a scrollbar can be affixed to the viewer control. The scrollbar alters which part of the object is currently visible inside the viewer control: it slides the view across the object in one axis (horizontal or vertical).

Κατευθυντήριες γραμμές

- Only display scrollbars when they are required for sliding the view. If an object fits inside the viewer control, don't draw scrollbars. If you are using a GtkScrolledWindow, call `gtk_scrolled_window_set_policy` setting the appropriate axis (or axes) to GTK_POLICY_AUTOMATIC.

- Do not use scrollbars as a replacement for a slider. Scrollbars should only be used affixed to a view that they actively alter, not used as a generic continuous input control.

- Affix scrollbars to the right side of a viewer control (to slide the view vertically), or to the bottom side (to slide the view horizontally). Do not affix scrollbars on the top or left sides of a viewer control.

- Scrollbars should be aligned in both directions with the view they are affixed to on the axis they control. In other words, horizontal scrollbars should span the full length of the viewer control, and vertical scrollbars should span the full height of the viewer control.

- If both horizontal and vertical scrollbars are acting upon a view, alignment will require that small rectangle in the lower right corner where the horizontal and vertical scrollbars meet will be blank. This is OK.

- Scrollbars should affect the view to which they are affixed in realtime: as the user drags or clicks the view should change. Time lag will be disconcerting and negatively impact a users ability to navigate content inside the view.

### Λίστες

A list control allows the user to inspect, manipulate or select from a list of items. Lists may have one or more columns, and contain text, graphics, simple controls, or a combination of all three.

Μία απλή λίστα δύο στηλών

Εικόνα μίας λίστας ελέγχου που περιέχει δυο αταξινόμητες λίστες κειμένου

Κατευθυντήριες γραμμές

- Always give list controls a label, positioned above or to the left of the list, in sentence capitalization. Provide an access key in the label that allows the user to give focus directly to the list.

- Make the list control large enough that it can show at least four items at a time without scrolling. For lists of ten or more items, increase this minimum size as appropriate.

- If the list appears in a dialog or utility window, consider making the window and the list within it resizable so that the user can choose how many list items are visible at a time without scrolling. Each time the user opens this dialog, set its dimensions to those that the user last resized it to.

- Do not use lists with less than about five items, unless the number of items may increase over time. Use check boxes, radio buttons or an drop-down list if there are fewer items.

- Χρήση μόνο επικεφαλίδων στηλών όταν:

  - η λίστα έχει περισσότερες από μία στήλες, ή

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

  In most other situations, column headers take up unnecessary space, and the extra label adds visual clutter.

- Always label column headers when used. If the column is too narrow for a sensible label, provide a tooltip for the column instead. Apart from its obvious use, this will help ensure that assistive technologies can describe the use of the column to visually impaired users.

- Consider using a check box list for multiple-selection lists, as these make it more obvious that multiple selection is possible:

  Μία απλή λίστα πεδίου ελέγχου

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

  If you do this, you should normally set the list control itself to be single-selection, but this depends on the particular task for which it will be used.

- For multiple selection lists, show the number of items currently selected in a static text label below the list, for example, Names selected: 3. Such a label also makes it more obvious that multiple selection is possible.

- Consider providing Select All and Deselect All buttons beside multiple selection lists, if appropriate.

#### Λίστες με δυνατότητα ταξινόμησης

Users often prefer to sort long lists, either alphabetically or numerically, to make it easier to find items. Allow users to sort long or multi-column lists by clicking on the column header they want to sort.

Κατευθυντήριες γραμμές

- Indicate which column is currently sorted by showing an upward or downward facing arrow in its header:

  Σειρά ταξινόμησης | Διεύθυνση βέλους | Παράδειγμα
  --- | --- | ---
  Φυσικό | Κάτω | Alphabetical; smallest number first; earliest date first; checked items first
  Αντιστροφή | Πάνω | Reverse alphabetical; largest number first; most recent date first; unchecked items first)

- Clicking an unsorted column header sorts the column in natural order, indicated by showing a down arrow in its header.

- Clicking a column header sorted in natural order re-sorts it in reverse order, indicated by showing an up arrow in its header.

  Un-sorting lists

  Occasionally, an unsorted state may be useful, for example to show items in the order in which the user added them to the list. In such cases, clicking a column sorted in reverse order should un-sort it, indicated by removing the arrow from the column header.

  Usually, however, this is better achieved by adding an extra column that the user can sort in the usual way, such as a sequence number column in this example.

### Δένδρα

A tree control allows the user to inspect, manipulate or select from a hierarchichal list of items. Trees may have one or more columns, and contain text, graphics, simple controls, or a combination of all three.

Χρήση δένδρων με προσοχή!

Because of their complexity compared to other controls, novice and some intermediate users often have problems using and understanding tree controls. If your application is designed for that type of user, you might want to consider alternative ways of presenting the information, such as the Nautilus list or icon view, or the hierarchical browser lists found in GNUstep's File Viewer.

Ένας απλός έλεγχος δένδρου με ένα επίπεδο ιεραρχίας

Picture of tree control showing months of the year as top level nodes, and public holidays in those months as their children

Κατευθυντήριες γραμμές

- Always give tree controls a label, positioned above or to the left of the tree, in sentence capitalization. Provide an access key in the label that allows the user to give focus directly to the tree.

- Χρήση επικεφαλίδων με στήλες όταν:

  - το δένδρο έχει περισσότερες από μία στήλες

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

  In most other situations, column headers take up unnecessary space, and the extra label adds visual clutter.

- Always label column headers when used. If the column is too narrow for a sensible label, provide a tooltip for the column instead. Apart from its obvious use, this will help ensure that assistive technologies can describe the use of the column to visually impaired users.

- Consider using a check box tree for multiple-selection trees, as these make it more obvious that multiple selection is possible:

  Ένα απλό δένδρο πεδίου ελέγχου

  Picture of tree control with two columns. The first column consists of check boxes showing whether or not the corresponding item in the second column is selected for further action.

  If you do this, you should normally set the tree control itself to be single-selection, but this depends on the particular task for which it will be used.

- For multiple selection trees, show the number of items currently selected in a static text label below the tree, for example, Names selected: 3. Such a label also makes it more obvious that multiple selection is possible.

- Consider providing Select All and Deselect All buttons beside multiple selection trees, if appropriate to the task.

#### Δένδρα με δυνατότητα ταξινόμησης

As with lists, the user may find it useful to sort long or multi-column trees. See the guidelines in for more information.

### Σημειοωματάρια με καρτέλες

A tabbed notebook control is a convenient way of presenting related information in the same window, without having to display it all at the same time. It is analagous to the divider tabs in a ring binder or a file cabinet.

Ένας τυπικός έλεγχος σημειωματαρίου με καρτέλες δένδρων

Picture of notebook control with three tabs

Κατευθυντήριες γραμμές

- Do not put too many pages in the same notebook. If you cannot see all the tabs without scrolling or splitting them into multiple rows, you are probably using too many and should use a list control instead. See the example below.

- Label tabs with header capitalization, and use nouns rather than verbs, for example Font or Alignment. Try to keep all labels in a notebook the same general length.

- Do not assign access keys to tab labels, as this means you cannot use those access keys for any other control on any of the notebook pages without conflict. Even if you are able to assign access keys that would not conflict, it is better not to as it may be impossible to avoid the conflict when your application is translated to other languages. Assign an access key to every other control on each page, however.

- Do not design a notebook such that changing controls on one page affects the controls on any other page. Users are unlikely to discover such dependencies.

- If a control affects only one notebook page, place it on that notebook page. If it affects every page in the notebook, place it outside the notebook control, for example beside the window's OK and Cancel buttons.

- Use tabs that are proportional to the width of their labels. Don't just set all the tabs to the same width, as this makes them harder to scan visually, and limits the number of tabs you can fit into the notebook without scrolling. For example:

  Καρτέλες σταθερού -και ανάλογου- πλάτους (προτείνεται)

  Side-by-side comparison of one notebook whose tabs are all the same width, and one whose tabs are only wide enough to accommodate the tab labels. The latter takes up around 33% less screen space.

- Although the contents of each page in a notebook will take up a different amount of space, do not use larger than normal spacing around the controls in the "emptier" pages, and do not center the controls on the page.

- If your tab labels include icons, choose whether or not to show the icons at runtime based on the user's preference in the GNOME Menus and Toolbars desktop preferences dialog. Always show the text part of the label, however.

If you have more than about six tabs in a notebook, use a list control instead of tabs to switch between the pages of controls. For example:

Use of list control where there would be too many tabs to fit comfortably in a notebook

Part of a window including a list control with 7 items, each item representing a category of settings such as "Appearance" and "Navigation". The controls in the rest of the window change depending on which item is selected in the list.

As in this example, place the list control on the left-hand side of the window, with the dynamic portion of the window immediately to its right. Should this be reversed for right-to-left locales?

#### Ενδείξεις κατάστασης

This section needs more concrete recommendations, it's currently (almost) taken verbatim from Sebastian's patch in bug #72101.

In some tabbed windows, such as preference windows, it might be desirable to indicate the status of a particular tab. This can be used to notify the user that a web page that is still loading or has been loaded, a new message is waiting in a particular instant messasing conversation, or that a document has not been saved. Such a status indicator should be an icon that is placed directly to the left of the tab label. Additionally, the tab label's color might be changed to indicate a certain status. Do not simply rely on a different coloring scheme for status indication.

### Progress Bars

Progress bars are visual indicators of the progress of a task being carried out by the application, and provide important feedback. For information on using a progress bar within a progress window, see .

You can use two main types of progress bars in your application— measured-progress bars and indeterminate-progress bars (the kind that bounce back and forth). In addition there are are three types of measured progress bars.

Κατευθυντήριες γραμμές

- Always use a measured progress bar when the length of a task can be precisely or approximately predicted. Otherwise, use an indeterminate progress indicator or a checklist window.

- Ensure that a measured-progress bar measures an operation's total time or total work, not just that of a single step. An exception is a progress bar that measures the total time or work of the current step in a progress checklist.

#### Time-remaining Progress Indicator

An animation consisting of a bar whose changing length indicates how much time remains in an operation, and text stating how much time remains before the operation will be complete. Time-remaining bars are the most useful type of progress bar.

Μία γραμμή προόδου για το 'χρόνο που απομένει'

Ένας διάλογος προόδου για το χρόνο που απομένει

Use a time-remaining bar if your application will display an initial estimate of an operation's remaining time and then periodically display updated estimates. Each updated estimate should be based on changes that have occurred and that will cause the operation to finish more quickly or more slowly. If the operation will finish more slowly, your application can display an updated estimate that is greater than the estimate previously displayed.

#### Ένδειξη προόδου τυπικού χρόνου

A bar whose changing length indicates how much time remains if an operation takes as long as it typically does. Typical-time bars are the least precise type of measured-progress bar, but they are more useful than indeterminate-progress bars.

Μία γραμμή προόδου για τον 'τυπικό χρόνο που απομένει'

Ένας διάλογος προόδου για τον 'τυπικό χρόνο που απομένει'

For some operations, you cannot estimate the time remaining or the proportion of work completed. However, if you can estimate the typical time for that operation, you can provide feedback with a typical-time bar.

If your application overestimates the completed amount of work, the length of the bar can indicate "almost complete" until the operation is complete. If your application underestimates how much work is complete, the application can fill the remaining portion of the bar when the operation is complete.

#### Απροσδιόριστη ένδειξη προόδου

An animated bar indicating only that an operation is ongoing, not how long it will take. One example is the "throbber" in a web browser. Indeterminate-progress bars are the least precise type of progress bar.

A simple 'indeterminate time' progress bar; the slider moves from left-to-right and back again until the operation is complete

A simple 'indeterminate time' progress dialog, showing a slider moving back and forth until the operation is complete

Use an indeterminate-progress bar to provide feedback only for operations whose duration you cannot estimate at all.

### Γραμμές κατάστασης

A statusbar is an area at the bottom of a window that can be used to display brief information about the status of the application.

Μία απλή γραμμή κατάστασης

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

Κατευθυντήριες γραμμές

- Use statusbars only in application or document windows. Do not use them in dialogs, alerts or other secondary windows.

- Only place a statusbar along the bottom of a window.

- Only use statusbars to display non-critical information. This might include:

  - general information about the document or application. For example, current connection status in a network application, or the size of the current document in a text editor.

  - information about the task the user is currently performing. For example, while using the selection tool in a drawing application, "Hold Shift to extend the selection"

  - progress of a background operation. For example, "Sending to printer", "Printing page 10 of 20", "Printing Complete".

  - a description of the control or area of the window under the mouse pointer. For example, "Drop files here to upload them"

  Remember that statusbars are normally in the user's peripheral vision, and can even be turned off altogether using the application's View Status Bar menu item. The user may therefore never see anything you display there, unless they know when and where to look for it.

- When there is no interesting status to report, leave a status bar panel blank rather than displaying something uninformative like "Ready". This way, when something interesting does appear in the statusbar, the user is more likely to notice it.

- If you want to make all or part of your statusbar interactive, use the following conventions:

  - Inlaid appearance for areas that respond to a double click

  - Flat appearance for areas that are not interactive

  In , the appearance indicates that the left area would respond to a double click (perhaps by saving the document), and the progress indicator on the right is non-interactive.

  Μία διαδραστική γραμμή κατάστασης

  A statusbar with a text panel that responds to a double click, a button that responds to a single click, and a non-interactive progress area

  Ensure that double-clicking in the status area does not provide any functionality that is not also available in the main application menu bar, or by some other accessible means.

- Provide a drag handle in the bottom right corner of the status bar of resizeable windows. Subclasses of GtkStatusbar should use the drag handle provided by that class. A reimplementation of a status bar, which is discouraged, should also reimplement the GtkStatusbar drag handle in both appearance and function.

### Frames and Separators

A frame is a box with a title that you can draw around controls to organise them into functional groups. A separator is a single horizontal or vertical line that you can use to divide windows into functional groups.

Frames with a border around their perimeter have traditionally been used for denoting groups of related controls. This is advantageous because it physically seperates disimilar controls, and also avoids repitition of the frame's label in individual member control labels. Unfortunately, they add visual noise that can both make a window appear more complex than it really is, and reduce the ability to quickly scan window elements.

Rather than using bordered frames, use frames without borders, bold labels to make the categories stand out, and indented contents. This, combined with good layout and spacing, is usually a better alternative to bordered frames.

Preferred frame style, using bold labels, spacing and indentation

Frame showing the preferred style described above

Traditional frame style, using borders (deprecated)

Frame showing the traditional style described above

Κατευθυντήριες γραμμές

- Before you add a frame with a visible border or separator to any window, consider carefully if you really need it. It is usually better to do without, if the groups can be separated by space alone. Do not use frames and separators to compensate for poor control layout or alignnment.

- Do not mix framed and unframed groups in the same window.

- Do not nest one frame inside another. This results in visual clutter.

- If all the items in a group are disabled, disable the group title too.

## Ανάδραση

### Χαρακτηριστικά ανταποκτιτικών εφαρμογών

Although highly responsive applications can differ widely from one another, they share the following characteristics:

- They give immediate feedback to users, even when they cannot fulfill their requests immediately.

- They handle queued requests as users would expect, discarding requests that are no longer relevant and reordering requests according to users' probable priorities.

- They let users do other work while long operations proceed to completion— especially operations not requested by users— such as reclaiming unused memory or other "housekeeping" operations.

- They provide enough feedback for users to understand what they are doing, and organize feedback according to users' abilities to comprehend and react to it.

- Αφήνουν τους χρήστες να γνωρίζουν πότε η διαδικασία βρίσκεται σε πρόοδο.

- They let users know or estimate how long lengthy operations will take.

- They let users set the pace of work, when possible, and they let users stop requested tasks that have started but not finished.

Highly responsive applications put users in control by quickly acknowledging each user request, by providing continuous feedback about progress toward fulfilling each request, and by letting users complete tasks without unacceptable delays.

Even applications with attractive, intuitive user interfaces can lack responsiveness. Typically, unresponsive applications have at least one of the following problems:

- They provide late feedback— or no feedback— for users' requests, leaving users wondering what the application has done or is doing.

- When performing extended operations, they prevent users from doing other work or cancelling the extended operation.

- They fail to display estimates of how long extended operations will last, forcing users to wait for unpredictable periods.

- They ignore users' requests while doing unrequested "housekeeping", forcing users to wait at unpredictable times— often without feedback.

You can sometimes possible to improve an application's responsiveness without speeding up the application's code. For tips on how to make such improvements, see .

### Αποδεκτοί χρόνοι απόκρισης

Some user interface events require shorter response delays than others. For example, an application's response to a user's mouse click or key press needs to be much faster than its response to a request to save a file. The table below shows the maximum acceptable response delay for typical interface events.

Maximum acceptable response times for typical events

Γραφικό συμβάν | Μέγιστος επιτρεπόμενο χρόνος απόκρισης
--- | ---
Κλικ ποντικιού, κίνηση δρομέα, κίνηση ή αλλαγή μεγέθους παραθύρων, πληκτρολόγηση, πίεση κουμπιού, σχεδίαση κίνησης, άλλο γραφικό συμβάν εισαγωγής που σχετίζεται με τη συνεργασία χεριού-ματιού | 0.1 δευτερόλεπτο
Displaying progress indicators, completing ordinary user commands (e.g. closing a window), completing background tasks (e.g. reformatting a table) | 1.0 δευτερόλεπτο
Displaying a graph or anything else a typical user would expect to take time (e.g. displaying a new list of all a company's financial transactions for an accounting period) | 10.0 δευτερόλεπτα
Αποδοχή και εκτέλεση όλης της εισόδου του χρήστη για κάθε εργασία | 10.0 δευτερόλεπτα

Make each response delay in your application as short as possible, unless users need time to see the displayed information before it is erased. The acceptable response delay for each event is based on a typical user's sense that the event is a logical point at which to stop or pause. The greater that sense is, the more willingly the user will wait for a response. Verify that your application responds to users' requests within the limits listed in the table above. If your application cannot respond within those limits, it probably has one or more general problems caused by a particular algorithm or module.

Κατευθυντήριες γραμμές

- Verify that your application provides feedback within 100 milliseconds (0.1 second) after each key press, movement of the mouse, or other physical input from the user.

- Verify that your application provides feedback within 100 milliseconds (0.1 second) after each change in the state of controls that react to input from the user— for example, displaying menus or indicating drop targets.

- Verify that your application takes no longer than 1 second to display each progress indicator, complete each ordinary user command, or complete each background task.

- Verify that your application takes no longer than 10 seconds to accept and process all user input to any task—including user input to each step of a multistep task, such as a wizard.

### Ικανοποίηση των απαιτήσεων του χρήστη

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

Κατευθυντήριες γραμμές

- Εμφανίστε την ανάδραση όσο πιο σύντομα γίνεται.

- Αν δεν μπορείτε να εμφανίσετε όλες τις πληροφορίες που ο χρήστης έχει ζητήσεις, εμφανίστε πρώτα τις πιο σημαντικές από αυτές.

- Κερδίστε χρόνο εμφανίζοντας προσεγγιστικά αποτελέσματα κατά τον υπολογισμό των τελικών αποτελεσμάτων.

- If users are likely to repeat a time-consuming command in rapid succession, save time by faking the command's effects instead of repeatedly processing the command. For example, if a user adds several rows to a table stored in a database, you might display each new row immediately but delay actually creating each new row in the database until the user finished adding all the rows.

- Work ahead. Prepare to perform the command that is most likely to follow the current command. That is, use idle time to anticipate users' probable next requests. For example, as the user of an email application reads the currently displayed new message, the application might prepare to display the next new message.

- Χρησιμοποιήστε τη διαδικασία στο παρασκήνιο. Εκτελέστε τις λιγότερο σημαντικές εργασίες —όπως οι εργασίες του σπιτιού— στο παρασκήνιο, δίνοντας τη δυνατότητα στους χρήστες να συνεχίσουν τις εργασίες τους.

- Καθυστερήστε τις εργασίες που δεν επείγουν. Εκτελέστε τις αργότερα, όταν υπάρχει περισσότερος διαθέσιμος χρόνος.

- Discard unnecessary operations. For example, to move back several pages in a web browser, a user might click the browser's Back button several times in rapid succession. To display the final requested page more quickly, the browser might not display the pages visited between the current page and that final page.

- Use dynamic time management. At run time, change how your application prioritizes user input and other processing, based on the application's current state. For example, if a user is typing text in one word-processing document while printing another, the word-processing application might delay the printing task if the user shifts to an editing task (such as cutting and pasting text) that requires greater resources.

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

  - If a command might take longer than 5 seconds to complete its work on an object, allow users to interact with any parts of the object and parts of the application that are not directly affected by the command.

  - If a command provides lengthy output, show partial results as they become available. Scroll the results (if necessary) until the user moves input focus to a component (e.g. a scrollbar or text area) involved in the scrolling.

### Τύποι οπτικής ανάδρασης

You can use two types of visual feedback for operations in your application— pointer feedback and progress animations.

#### Ανάδραση ένδειξης

Pointer feedback changes the shape of the pointer. For example, a busy pointer indicates that an operation is in progress and that the user cannot do other tasks. A busy-interactive pointer indicates that an operation is in progress but the window is still interactive.

Busy pointer (left) and Busy-Interactive pointer (right)

Busy pointer (left) and busy-interactive pointer (right)

#### Κινούμενες εικόνες προόδου

Progress animations show either how much of an operation is complete, or only that an operation is ongoing. Normally, these take the form of either a progress bar or a progress checklist.

Κατευθυντήριες γραμμές

- When displaying a progress animation, open it as soon as possible after you know it is required, and close it automatically as soon as the associated operation is complete.

- Use a measured-progress bar if your application can estimate either how long the operation will take, or what proportion of the operation is complete.

- If your application can make neither estimate, and the operation only has one step, use an indeterminate-progress bar. For operations with two or more steps, use a progress checklist that dynamically displays a check mark for each completed step.

##### Progress Bars

For information on different types of progress bars and when to use them see .

###### Παράθυρα προόδου vs Γραμμή κατάστασης

In an application where the primary windows contain a status bar (which in turn contains a progress bar), it will often be the case that an operation's feedback could be presented in either the statusbar or a progress window. A rule of thumb is to use the statusbar when an operation is expected to take fewer than ten seconds, otherwise use a progress window. However, do consider the following when choosing between the two:

- Opening a new window, particularly when an operation is short, can needlessly disrupt the user's workflow.

- Progress windows can convey more information.

- Multiple progress windows can be open at once, whereas only a single operation can be presented in a statusbar.

- Progress windows provide a Cancel button.

##### Παράθυρα λίστας ελέγχου

A checklist window shows the sequence of stages in an operation. See .

Ένα παράθυρο λίστας ελέγχου

A checklist window showing a sequence of steps

### Επιλογή κατάλληλης ανάδρασης

To determine which type of visual feedback to provide for a particular operation, consider these factors:

- Whether your application can provide an estimate of the operation's progress.

- Whether the operation blocks the user from issuing further commands in your application.

- Whether your application has a dedicated space, such as a status bar, for indicating the status of operations.

The table below shows which type of feedback to provide for operations that usually take at least 1 second to finish. In the "Appropriate Feedback" column, "Internal progress animations" means progress animations displayed in an application's dedicated status area, and "External progress animations" means progress animations displayed somewhere other than in a dedicated status area— typically, in an alert box.

Visual feedback types for operations that take at least 1 second

Τυπική διάρκει > 5 δευτερόλεπτα; | Να εμποδίζεται ο χρήστης να συντάσσει επιπρόσθετες εντολές; | Η εφαρμογή έχει κάποια περιοχή που έχει σχέση με την κατάσταση; | Κατάλληλη ανάδραση
--- | --- | --- | ---
Ναι | Ναι | Ναι | Εσωτερικά εφέ κίνησης και ανάδραση ένδειξης
Ναι | Ναι | Όχι | Ανάδραση ένδειξης
Ναι | Όχι | Ναι | Εσωτερικές κινούμενες εικόνες
Όχι | Ναι | Ναι | Εσωτερικά εφέ κίνησης και ανάδραση ένδειξης
Όχι | Ναι | Όχι | Εξωτερικά εφέ κίνησης και ανάδραση ένδειξης
Όχι | Όχι | Ναι | Εσωτερικές κινούμενες εικόνες
Όχι | Όχι | Όχι | Εξωτερικές κινούμενες εικόνες

Κατευθυντήριες γραμμές

- Use a busy pointer whenever users are blocked from interaction with your application for 1 second or longer. Display the busy pointer less than 1 second after the operation begins.

- If a command will likely take 10 seconds or longer to finish, provide a Stop or Cancel button, which can also be activated by pressing Esc, that lets users terminate the command's processing even if your application cannot undo the command's effects. See .

- When using an external animation, leave the window containing the animation on-screen for at least 1 second after the operation has completed, with a successful completion message. Change the Stop or Cancel button to an OK button during this period— pressing this button should close the window immediately.

### Να επιτρέπονται οι διακοπές

Users sometimes need to stop a command— for example, because it is taking too long. Your application should let users stop commands in progress, even if stopping a command cannot undo or "roll back" all the command's effects.

Κατευθυντήριες γραμμές

- Place a Stop or Cancel button, which can also be activated by pressing Esc, near the progress animation for the interruptable command.

- Label the button Cancel if the whole operation can be cleanly abandoned with no side effects, leaving the system in the state it was in prior to the operation beginning. Terminate the command immediately when the user presses this button.

- Label the button Stop if the command can be interrupted, but its effects up to that point cannot (or should not) be reversed. When the user presses this button, open an alert box that warns of the potential side effects of stopping the command. The alert box should have only two buttons: one for continuing the command's processing, and one for immediately terminating it.

Alternatively, you can place the Stop or Cancel button near the control with which the user issued the command that needs to be stopped. Place the button here only if:

- Δεν υπάρχουν εφέ κίνησης προόδου για την εντολή, ή

- The progress animation is in a window's status area or in another location that lacks space for a Stop or Cancel button.

In the alert box that appears after pressing a Stop button, ensure the message and button labels in the alert box are specific and precise. Ambiguous button labels can cause users to terminate or continue a command unintentionally. For example, use:

    Να συνεχίσει η διαγραφή αρχείων; [Συνέχιση διαγραφής]
        [Διακοπή διαγραφής]

πιο πολύ από

    Διακόπηκε η λειτουργία , να συνεχιστεί; [Ναι]
        [Όχι]

since in the latter example, it is not clear whether pressing Yes would continue the operation or continue the interruption (i.e. cancel the operation).

## Οπτικός σχεδιασμός

Visual design is not just about making your application look pretty. Good visual design is about communication. A well-designed application will make it easy for the user to understand the information that is being presented, and show them clearly how they can interact with that information. If you can achieve all that, your application will look good to the user, even if it doesn't have any fancy graphics or spinning logos!

### Χρώμα

Το χρώμα είναι ένα εξαιρετικό εργαλείο για τη μεταφορά πληροφοριών σε μία διεπαφή χρήστη. Για παράδειγμα, μπορεί να χρησιμοποιηθεί για:

- ενίσχυση της εμφάνισης και της αίσθησης μίας επιφάνειας εργασίας προστίθοντας ένα θέμα

- τονισμός μίας δυναμικής ειδοποίησης σε μία εφαρμογή διαχείρισης συστήματος

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

- προσθήκη λεπτομερειών αισθητικής ευχαρίστησης σε ένα εικονίδιο

However, color should always be regarded as a useful addition to your design, not as a necessity. Never depend upon colors alone to display important information, and keep in mind that if colors cannot be perceived correctly (for example, the user has an 8-bit system, or is color-blind), your application should still be usable.

#### Παλέτα

A 32-color palette has been developed for the GNOME desktop. The palette may be downloaded from http://developer.gnome.org/projects/gup/images/ximian-palette. To use it in The GIMP, save it to your `~/.gimp_1.2/palettes` folder, and restart The GIMP. A single, consistently-used palette helps give a unified look and feel to the desktop while minimizing visual distractions. If you need a color that is darker or lighter than the colors in this basic palette (e.g., for anti-aliasing), choose a color that is closest to the hue you need, then darken or lighten as required.

Η βασική παλέτα του GNOME 32-χρωμάτων

Η βασική παλέτα του GNOME 32-χρωμάτων

Τιμές RGB και δεκαεξαδικές για τη βασική παλέτα

Χρώμα | Description | RGB | Hex | Χρώμα | Description | RGB | Hex
--- | --- | --- | --- | --- | --- | --- | ---
| Βασικό 3Δ έντονο | 234 232 227 | #EAE8E3 |  | Βασικό 3Δ μεσαίο | 186 181 171 | #BAB5AB
| Βασικό 3Δ σκούρο | 128 125 116 | #807D74 |  | 3D με σκιά | 86 82 72 | #565248
| Έντονο πράσινο | 197 210 200 | #C5D2C8 |  | Μεσαίο πράσινο | 131 166 127 | #83A67F
| Σκούρο πράσινο | 93 117 85 | #5D7555 |  | Πράσινο με σκιά | 68 86 50 | #445632
| Έντονο κόκκινο | 224 182 175 | #E0B6AF |  | Μεσαίο κόκκινο | 193 102 90 | #C1665A
| Σκούρο κόκκινο | 136 70 49 | #884631 |  | Κόκκινο με σκιά | 102 56 34 | #663822
| Έντονο μοβ | 173 167 200 | #ADA7C8 |  | Μεσαίο μοβ | 136 127 163 | #887FA3
| Σκούρο μοβ | 98 91 129 | #625B81 |  | Μοβ με σκιά | 73 64 102 | #494066
| Έντονο μπλε | 157 184 210 | #9DB8D2 |  | Μεσαίο μπλε | 117 144 174 | #7590AE
| Σκούρο μπλε | 75 105 131 | #4B6983 |  | Μπλε με σκιά | 49 78 108 | #314E6C
| Δέρμα προσώπου έντονο | 239 224 205 | #EFE0CD |  | Δέρμα προσώπου μεσαίο | 224 195 158 | #E0C39E
| Δέρμα προσώπου σκούρο | 179 145 105 | #B39169 |  | Δέρμα προσώπου με σκιά | 130 102 71 | #826647
| Τόνος με κόκκινο | 223 66 30 | #DF421E |  | Τόνος με σκούρο κόκκινο | 153 0 0 | #990000
| Τόνος με κίτρινο | 238 214 128 | #EED680 |  | Τόνος με σκούρο κίτρινο | 209 148 12 | #D1940C
| Τόνος με πράσινο | 70 160 70 | #46A046 |  | Τόνος με σκούρο πράσινο | 38 199 38 | #267726
| Άσπρο | 255 255 255 | #ffffff |  | Μαύρο | 0 0 0 | #000000

#### Απόχρωση, φωτεινότητα, αντίθεση

Users with vision disorders, such as color-blindness or low vision, require alternatives to default settings. A good user interface anticipates these needs by providing customizable preferences and support for accessible themes. Even better is an application that is already configured with carefully-chosen color and contrast defaults.

An estimated 11% of the world population has some sort of color-blindness. Those affected typically have trouble distinguishing between certain hues such as red and green (deuteranopia or protanopia), or blue and yellow (tritanopia). Therefore it is necessary to allow the user to customize colors in any part of your application that conveys important information. This means that your application must effectively convey information using just the colors from any theme that the user chooses.

A useful tool for reviewing information about color-blindness and checking legibility of images for color-blind users is Vischeck, an online tool that simulates the way an image or a website might appear to a user who has deuteranopia, protanopia, or tritanopia.

How the earth looks to a user with normal color vision (left), deuteranopia (middle), and tritanopia (right). (Images from http://www.vischeck.com).

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

Other users have more problems with contrast levels rather than hue on their screen. Some users require a high level of contrast between background and foreground colors, such as black on white, white on black, or some other high-contrast combination. Others can experience discomfort unless they use low-contrast settings, such as gray text on a lighter gray background.

You can meet these needs by ensuring your application supports the accessible GNOME themes (found in the gnome-themes module in cvs), which include high and low contrast themes, and large print themes. This means you must supply default and large sizes of high-, low- and regular-contrast icon sets with your application.

Κατευθυντήριες γραμμές

- Use the GNOME color palette. If you need a darker or lighter shade, start from one of the colors from the palette and darken or lighten as needed.

- Do not use color as the only means to distinguish items of information. All such information should be provided by at least one other method, such as shape, position or textual description.

- Ensure your application is not dependent on a particular theme. Test it with different themes, especially high and low contrast accessibility themes, which use fewer colors, to ensure your application respects the settings. For example, all text should appear in the foreground color against the background color specified in the chosen theme.

- Select colors carefully. When they need to be recognizably different, select the light colors from orange, yellow, green or blue-green, and darker colors from blue, violet, purple or red, as most people affected by color-blindness already see blue, violet, purple and red as darker than normal.

### Διάταξη παραθύρων

#### Γενικά

Placement of visual components in an application is important because relationships between elements are indicated by their positions. This is called "layout" in interface design.

A clean layout is crucial to creating a smooth visual flow of information for the user. This section describes the proper component placement and spacing to use in GNOME applications. The major components discussed will be labels, icons, radio buttons and check boxes, text fields, command buttons, and drop-down menus.

#### Διάλογοι

When a user is scanning a complex preferences dialog consisting of many labels and corresponding check boxes, text fields, and drop-down combination boxes, it is easy to see how she can quickly become hindered by poor layout in the visual design. For information on laying out Alerts, see

Βελτιωμένη διάταξη παραθύρων

Αρχική διάταξη με φτωχή στοίχηση και περιορισμένη χρήση του λευκού διάκενου | Improved layout with fewer alignment points, frames removed to relieve clutter, and clearer grouping with use of white space

In , the dialog on the left presents labels which are not left-aligned. The user's eye is not given a proper anchor to scan the dialog quickly.

As the labels are all similar in length, they should be left-aligned. Now the user has a firm left margin to anchor the eye and scan the list of items vertically more easily. If most of the labels in a group greatly differ in length, right-align them instead, so that the controls do not end up too far away from their corresponding labels.

Using frames with visible borders to separate groups within a window is deprecated. Use spacing and bold headers instead. This is more effective because there are fewer gratuitous lines to distract the user from the main content in the window. See for more details.

Try to keep components consonant with each other in terms of size and alignment. This is particularly important within a group of controls, so that the user's ability to quickly scan information is not sacrificed. Minimize as much as possible the need for the user's eye to jump around when scanning a layout.

Ρυθμίσει διάταξης

Improved layout with fewer alignment points, frames removed to relieve clutter, and clearer grouping with use of white space

Κατευθυντήριες γραμμές

- Leave a 12-pixel border between the edge of the window and the nearest controls.

- Leave a 12-pixel horizontal gap between a control and its label. (The gap may be bigger for other controls in the same group, due to differences in the lengths of the labels.)

- Labels must be concise and make sense when taken out of context. Otherwise, users relying on screenreaders or similar assistive technologies will not always be able to immediately understand the relationship between a control and those surrounding it.

- Assign access keys to all editable controls. Ensure that using the access key focuses its associated control.

#### Διάστιχο και στοίχιση

Provide adequate space between controls and groups of controls. This white space will make it easier for the user to find the information they need.

Κατευθυντήριες γραμμές

- As a basic rule of thumb, leave space between user interface components in increments of 6 pixels, going up as the relationship between related elements becomes more distant. For example, between icon labels and associated graphics within an icon, 6 pixels are adequate. Between labels and associated components, leave 12 horizontal pixels. For vertical spacing between groups of components, 18 pixels is adequate. A general padding of 12 pixels is recommended between the contents of a dialog window and the window borders.

- Break long lists of choices into smaller groups. For lists of less than about eight items, use radio buttons or check boxes. For longer lists, use a list control or drop-down list.

- Try to keep elements of the same type left-aligned with each other. For instance, in , the group titles (General and Actions) are left-aligned and justified with each other.

- Indent group members 12 pixels to denote hierarchy and association.

- Minimize the number of alignment points in your window. An alignment point is an imaginary vertical or horizontal line through your window that touches the edge of one or more labels or controls in the window.

- Right-justification within groups or the overall window (as indicated by the line labelled "justification" in is pleasing to the eye, but not crucial.

- Lay out components left-to-right, top-to-bottom. Generally, the first element the user is meant to encounter should be in the top-left, and the last in the bottom right. Keep in mind that when localized for non-western locales, interfaces may be reversed so that they read from right to left.

- Using "white" or blank spacing and indentation to delineate groups is cleaner and preferable to using graphical separators such as frames.

- Align controls in your layout exactly. The eye is very sensitive to aligned and unaligned objects. If nothing lines up with anything else in a window, it will be very hard for the user to scan the contents and find the information he wants. Two things that almost line up, but not quite, are equally distracting.

- Be consistent. Use the same spacing, alignment, and component sizes in all dialogs appearing in your application. The OK and Cancel buttons, for example, should all appear exactly 12 vertical and horizontal pixels from the lower right corner of every dialog window.

- Ensure that light and dark areas as well as spacing are equally distributed around the window. Keep in mind that every control or group of controls in your window has a visual "weight," depending on its overall size, color, and how much white space it includes. Darker, larger areas are "heavier," while paler, smaller areas are "lighter."

- Do not design windows that are more than 50% longer in one dimension than in the other. People are more comfortable looking at windows and dialogs whose dimensions stay within the golden ratio (about 1.6 to 1), a ratio that artists and architects have used to create aesthetically-pleasing paintings and buildings for thousands of years.

### Ετικέτες κειμένου

To a user with normal vision, textual output provides the majority of the information and feedback in most applications. To a visually-impaired user who may not be able to see or understand any additional graphical output, clear textual output is critical. You must therefore choose and position text carefully on the screen, and leave the choice of fonts and sizes to the user, to ensure that all users are able to use your application effectively.

#### Διάστιχο και στοίχιση

Use spacing and alignment of text uniformly throughout your application. A basic rule of thumb is to put space between user interface components in increments of 6 pixels, going up as the relationship between related elements becomes more distant.

Στοίχιση και διάστιχο για διαφορετικά στοιχεία κειμένου

Στοιχείο | Τοποθέτηση | Παράδειγμα
--- | --- | ---
Μεγάλα εικονίδια (περιηγητής ιστού) | Στο κέντρο οριζόντια και κάτω από το μεγάλο αντικείμενο (6 εικονοστοιχεία, αν είναι απαραίτητη η ρύθμιση) | Μεγάλο εικονίδιο με ετικέτα κειμένου με στοίχιση στο κέντρο και κάτω
Μικρά εικονίδια (εργαλειοθήκη) | Στο κέντρο κατακόρυφα και στα δεξιά των μικρών εικονιδίων (6 εικονοστοιχεία, αν είναι απαραίτητη η ρύθμιση) | Μικρό εικονίδιο με ετικέτα κειμένου στα δεξιά
Ετικέτα λίστας ελέγχου | 6 pixels above and horizontally left aligned with list control or 12 pixels to the left of and horizontally top aligned with list control | Λίστα ελέγχου με ετικέτα κειμένο με οριζόντια στοίχιση πάνω
Ετικέτες για κουμπιά συχνοτήτων και πεδία ελέγχου | 6 pixels to the right of and vertically center aligned with radio button | Κουμπί συχνοτήτων με ετικέτα κειμένου στα δεξιά του
Ετικέτες για πεδία κειμένου | 6 pixels to the left of and vertically center aligned with textfield control | Πεδίο κειμένου με ετικέτα κειμένου στα αριστερά του
Ετικέτες κουμπιών | 12 pixels of padding to either side of centered text (and any accompanying graphic). If appearing in a group of buttons, longest button label sets button size, center all other button labels and accompanying graphics in same-sized buttons | Κουμπιά με κείμενο που έχει στοίχιση στο κέντρο
Άλλες ετικέτες στοιχείων (π.χ. πεδία περιστροφής, πεδία κειμένου | 12 pixels between the longest text label and its associated component, all other text labels in component grouping left aligned with the longest label. All labels vertically center aligned with associated components | Εκπίπτουσα λίστα με ετικέτα στα αριστερά της

Κατευθυντήριες γραμμές

- If the label precedes the control it is labelling, end the label with a colon. For example, Email: to label a text field into which the user should type their email address. This helps identify it as a control's label rather than an independent item of text. Some assistive technology screen review utilities may also use the presence of a colon to identify text as a control label.

- Ensure that a label with a mnemonic is associated with the control it labels.

- Left-align components and labels, unless all the labels in a group have very different lengths. If they do, right-align the labels instead, to ensure that no controls end up too far away from their corresponding labels.

- Choose label names carefully. Label objects with names that make sense when taken out of context. Users relying on screenreaders or similar assistive technologies will not always be able to immediately understand the relationship between a control and those surrounding it.

- Be consistent with label usage and semantics. For example, if you use the same label in different windows, it will help if it means the same thing in both windows. Equally, don't use labels that are spelled differently but sound the same, e.g., "Read" and "Red", as this could be confusing for users relying on screenreaders.

- Don't use the same label more than once in the same window. This makes life difficult for users relying on tools like magnifiers or screen readers, which cannot always convey surrounding context to the user.

- Do not hard-code font styles and sizes. The user should be able to adjust all sizes and typefaces.

- Do not use more than two or three different fonts and sizes in your application, and choose visually distinct rather than similar-looking fonts in one window. Too many font sizes and styles will make the interface look cluttered and unprofessional, and be harder to read. In general, always use fonts from the current theme, and specify relative rather than absolute sizes.

- Do not use graphical backdrops or "watermarks" behind text, other than those specified by the user's chosen theme. These interfere with the contrast between the text and its background. This can cause difficulty for users with visual impairments, who will therefore normally choose themes that always use plain backdrops.

#### Κεφαλαιοποίηση

Two styles of capitalization are used in GNOME user interface elements:

Κεφαλαιοποίηση επικεφαλίδας

  Capitalize all words in the element, with the following exceptions:

  - Articles: a, an, the.

  - Conjunctions: and, but, for, not, so, yet ...

  - Prepositions of three or fewer letters: at, for, by, in, to ...

Κεφαλαιοποίηση πρότασης

  Capitalize the first letter of the first word, and any other words normally capitalized in sentences, such as application names.

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

Οδηγίες τύπων κεφαλαιοποίησης για στοιχεία διεπαφής χρήστη

Στοιχείο | Τύπος
--- | ---
Ετικέτες πεδίων ελέγχου | Πρόταση
Ετικέτες για κουμπιά εντολών | Επικεφαλίδα
Ετικέτες για επικεφαλίδες στηλών | Επικεφαλίδα
Ετικέτες για αντικείμενα του παρασκηνίου της επιφάνειας εργασίας | Επικεφαλίδα
Μηνύματων διαλόγου | Πρόταση
Ετικέτες πεδίων εκπίπτοντος συνδυασμού | Πρόταση
Ετικέτες πεδίων εκπίπτουσας λίστας | Πρόταση
Ετικέτες πεδίων | Πρόταση
Ονόματα αρχείων | Πρόταση
Γραφικό ισοδύναμο κείμενο: για παράδειγμα, κείμενο Alt σε όλες τις ιστοσελίδες | Πρόταση
Ετικέτες πεδίων ή πλαισίων ομάδας | Επικεφαλίδα
Στοιχεία στα πεδία εκπίπτοντος συνδυασμού, πεδία εκπίπτουσας λίστας και, πεδία λίστας | Πρόταση
Ετικέτες πεδίων λίστας | Πρόταση
Στοιχεία μενού | Επικεφαλίδα
Στοιχεία μενού σε εφαρμογές | Επικεφαλίδα
Τίτλοι μενού σε εφαρμογές | Επικεφαλίδα
Ετικέτες κουμπιών συχνοτήτων | Πρόταση
Ετικέτες ολισθητή | Πρόταση
Ετικέτες κουμπιών περιστροφής | Πρόταση
Τίτλοι για ενότητες καρτελών | Επικεφαλίδα
Ετικέτες πεδίων κειμένου | Πρόταση
Ετικέτες γραμμών τίτλου | Επικεφαλίδα
Ετικέτες κουμπιών εργαλειοθήκης | Επικεφαλίδα
Συμβουλές οθόνης | Πρόταση
Τίτλοι ιστοσελίδων και στοιχεία πλοήγησης | Επικεφαλίδα

Οδηγίες κεφαλαιοποίησης σε άλλες γλώσσες

Languages other than English may have different rules about capitalization. For example, Swedish has no concept of Header capitalization. Contact the GNOME Translation Project if you are in doubt about how to capitalize labels in a particular language.

### Γραμματοσειρές

Only use the fonts that the user has specified in their theme, and in sizes relative to the default size specified in their theme. This will ensure maximum legibility and accessibility for all users.

Do not mix more than two or three font sizes and styles (underlined, bold, italicized) in one window, as this will look unprofessional and distract the user from the information being conveyed.

Provide alternatives to WYSIWYG where applicable. Some users may need to print text in a small font but edit in a larger screen font, for example. Possible alternatives include displaying all text in the same font and size (both of which are chosen by the user); a "wrap-to-window" option that allows you to read all the text in a window without scrolling horizontally; a single column view that shows the window's contents in a single column even if they will be printed in multiple columns; and a text-only view, where graphics are shown as placeholders or text descriptions.

## Εικονίδια

Icons are a graphical metaphor presenting a visual image that the user associates with a particular object, state or operation. When a user sees a good icon they are immediately reminded of the item it represents, whether that be an application in the panel menu or the "right aligned" state in a word processor toolbar.

- Icons can assist the user in rapidly scanning a large number of objects to select the desired item. Particularly after a user is acustomed to an icon's appearance, they can identify it more rapidly than a text label.

- Icons can augment text by providing visual suggestions to accompany the descriptive text. Some things are easier to communicate with a picture, even a very small one.

- Icons can compactly represent a large number of objects when there is insufficient space to display textual descriptions (such as in a toolbar).

### Τύπος

GNOME uses a soft, three-dimensional look. This style is achieved by using antialiasing, shading and highlighting techniques. The Gnome Icons tutorial details how one of GNOME's leading artists creates some of these effects.

Components of an icon style can be broken down into several categories such as perspective, dimentionality, lighting effects and palette. These components play an important part in giving a group of icons a collectively distinctive look. For instance, the Java Look and Feel is recognizable by its use of a primary eight-color palette, interior highlighting and diagonal gradients. The Macintosh Aqua style is recognizable by its use of a cool palette based on blue, lighting effects mimicking reflectivity and antialiasing. The GNOME style exhibits a subdued thirty-two color palette, soft drop shadows and a mix between cartoonish and photorealistic graphics.

Μία υδρόγειος με διαφορετικούς τύπους εικονιδίων

Java Metal | MacOS/X Aqua | GNOME
--- | --- | ---
υδρόγειος της Java | υδρόγειος της Aqua | υδρόγειος του GNOME

#### Προοπτική

FIXME: πρέπει να συμπληρωθεί ακόμη λίγπο

Προοπτική πίνακα

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

Εικονογράφηση της προοπτικής πίνακα

εικονογράφηση της προοπτικής πίνακα

Προοπτική διάρκειας

Presents objects as if they were propped up on a shelf at eye level. Make it look like a police line-up.

Εικονογράφηση της προοπτικής διάρκειας

εικονογράφηση της προοπτικής διάρκειας

#### Φωτισμός

FIXME: πρέπει να συμπληρωθεί ακόμη λίγπο

Πάνω αριστερά

Design as if there is lighting coming from the upper left corner, with a soft drop-shadow cast within the icon's 48x48 (original design size) borders (120 degrees, 4 pixel distance, 4 pixel blur).

Εναέρια

Design as if there is a light source placed above the "camera", casting a shadow down.

#### Παλέτα

FIXME: πρέπει να συμπληρωθεί ακόμη λίγο;

Icons should use colors based on the basic thirty-two color palette, darkening or lightening the colours to achieve the desired look. See

### Είδη εικονιδίων

Ρυθμίσεις για διαφορετικά είδη εικονιδίων που χρησιμοποιούνται στο GNOME

Τύπος εικονιδίου | Μεγέθη (σε εικονοστοιχεία) | Προοπτική | Πηγή φωτός | Παραδείγματα
--- | --- | --- | --- | ---
Εικονίδια Αντικειμένου / Εγγράφου | 24x24, 48x48*, 96x96 | Πίνακας | Πάνω αριστερά | πικιλία εικονιδίων αντικειμένων
Εικονίδια εφαρμογής | 24x24, 48x48* | Πίνακας | Πάνω αριστερά | ποικιλία εικονιδίων εφαρμογής
Εικονίδια εργαλειοθηκών | 24x24*, 48x48 | Διάρκεια | Εναέρια | ποικιλία εικονιδίων εργαλειοθηκών
Εικονίδια μενού | 16x16 | Διάρκεια | Εναέρια | ποικιλία εικονιδίων μενού

(* υποδηλώνει το πρωτεύον μέγεθος για αυτό το είδος εικονιδίου)

#### Εικονίδια εγγράφων

If possible, document icons should convey the type of the file using a physical object. For example a good icon for MPEG video would be a movie reel. Failing the existence of an appropriate object, when a document type corresponds to a specific application, another option is to use a piece of paper with the corresponding application's icon overlayed it as the document icon. This may be appropriate for a document type such as an application's settings files.

- Do not display a piece of paper behind a document icon unless the document type has a use correspondence with physical paper (or a suitable object was not found and you are using the application icon). For example, the final state of most word processing documents is a piece of paper, so it is appropriate to use a piece of paper in the icon. On the other hand, a movie on the computer has little association with a piece of paper, so a piece of paper behind the movie reel primarily introduces visual noise. The use of a piece of paper in most or all document types creates an additional problem: it is harder to scan large numbers of icons because they do not possess distinct outlines. A useful technique for creating a subtle difference between document types with similar roles (for example, between "JPEG", "PNG", "GIF", etc) is to use different colours. Expert users who need to make this distinction frequently will become accustomed to these differences.

- Do not include a file extension in the icon. The document icon's job is not to convey such precise information but to allow for rapid visual distinction between documents. Additionally, this text will not be displayed in the user's preferred font and size. Because many document types are associated with multiple file extensions, a file extension embedded in the icon will also frequently be wrong. In a context where the file extension is actually useful, the application should composite the information onto the icon at runtime (thereby using the correct font and size, as well as getting the extension right).

- Do not customize document icons to a particular Nautilus theme. Document icons are likely to be used in conjunction with a variety of different icon themes, and should work well with all of them.

#### Εικονίδια εφαρμογής

Application's that handle documents should reflect the kind of document they handle in the icon. If an application's predominant purpose is to edit a particular kind of document, it should use this document's icon as its icon.

#### Εικονίδια εργαλειοθηκών

The idea of a toolbar as a shelf filled with tools should be reflected in toolbar icons. Toolbar icons should have the perspective of being viewed head on, as if they were actually sitting on a shelf at eye-level. Some design guides refer to this perspective as "flush".

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

- While most user's will view toolbar icons at 24x24 pixels, it is important to include a "large print" set of icons at 48x48 pixels for accesibility reasons.

- Often, you will not have to design any toolbar icons yourself as GTK provides a wide variety of stock icons. You should use these whenever representing one of their intended items. This establishes consistent language across applications, and makes it easier for users to search for items on the toolbar. Do not use stock toolbar icons for anything other than their intended purpose, however, as this will make your application inconsistent with others, and could easily confuse your users.

  To browse the available stock icons, install the development packages for GTK version 2.x and run `gtk-demo`. Double click on Stock Item and Icon Browser to activate the stock icon browser. Note that icons vary in available resolution, so the images presented in the icon browser should not be taken as indicative of the maximuum quality of an image. To view the images in PNG format, look in the GTK 2 source code under `gtk/stock-icons`.

#### Εικονίδια μενού

Principles of toolbar icon design should be followed with menu icons, just at a smaller size. Where a corresponding toolbar icon exists, a menu icon should mirror its design.

### Σχεδίαση λειτουργικών εικονιδίων

Κανόνας του Thumb για μεταφορές εικονιδίων

"Αν πρέπει να σκεφτείτε για να το 'έχετε', η μεταφορά είναι πολύ σύνθετη"

- Σχεδίαση προτεινόμενων λειτουργικών εικονιδίων

  Icons should be suggestive of the functionality with which they are associated. The best icon will suggest to the user the primary purpose of the program or operation without having to read accompanying text. Users recognize functionally suggestive icons more rapidly than other forms because they directly associate with a physical object or action.

  Ένα προτεινόμενο λειτουργικό εικονίδιο για έναν επεξεργαστή κειμένου

  Ένα αρχείο με πάνω του ένα μολύβι που γράφει

  Ένα προτεινόμενο λειτουργικό εικονίδιο για υπογράμμιση

  Ένας υπογραμμισμένος χαρακτήρας

- Κάντε διακριτά τα σχήματα των εικονιδίων

  It is important to make it easy to visually distinguish icons that will be used together, for example toolbar icons and document icons. The human visual system is excellent at making rapid distinctions between items based on shape, thus a good way to help your users sort through a large number of icons is to use different shapes. You can see the shape of an icon most clearly by turning it into a silhouette: blacken all areas of the icon which are not transparent.

  Διακριτά σχήματα από το θέμα εικονιδίων του GNOME

  Σχήματα από διάφορα εικονίδια εργαλειοθηκών

#### Προτεινόμενη διαδικασία σχεδίασης για εικονίδια εργαλειοθηκών και μενού

For accessibility reasons, you should create high and low contrast and large print versions of all icons, in addition to the regular size and contrast icon. A suggested process for conveniently integrating this into your icon design is as follows:

1. Draw the basic outline as close to 48x48 pixels as possible:

2. Fill in with black and white to create detail. Do not add gratuities such as drop shadows or anti-aliasing:

3. Χρησιμοποιήστε την ολοκληρωμένη εικόνα ως ένα μεγάλο εικονίδιο με εκτύπωση υψηλής αντίθεσης:

4. GNOME will automatically scale it down to create the 24x24 high contrast icon:

5. Or you may hand-create a 24x24 version, which will be superior in contrast and sharpness:

6. Add color and anti-aliasing to the large print high contrast icon:

7. Προσθήκη κλίσεων για ένα ομαλό, ρεαλιστικό αποτέλεσμα:

8. Add a drop shadow (120 degree global angle, 4 pixel distance, 4 pixel blur, 40% opacity), and use the finished image as the large print regular contrast icon:

9. Now you should hand-create create a version of this icon at 24x24. Do not simply scale the larger icon, as this icon will be seen by the majority of users and the result of scaling would be less distinct:

10. Create a layer with the large print regular contrast icon's same outline and size then overlay that on the color icon. Give the overlay layer 40% opacity, and use the finished image as the large print low contrast icon:

11. Το GNOME θα το σμικρύνει αυτόματα ώστε να δημιουργήσει ένα εικονίδιο με χαμηλή αντίθεση διαστάσεων 24x24:

12. Or you may hand-create a 24x24 version, which will be superior in contrast and sharpness:

#### Προβλήματα προς αποφυγή

- Αποφύγετε τα εικονίδια που υποδηλώνουν κάποιο όνομα

  Some icons, such as the original Nautilus file manager icon, do not suggest the program's purpose, but instead suggest the program's name. This is less desirable than a functionally suggestive icon, because an extra layer of abstraction is added (rather than associating file management with an icon representing files, they have to associate file management with nautilus with an image of a nautilus shell). Additionally it makes it difficult for new users who may not know what "Nautilus" is, and hence will not recognize a shell icon as the file manager.

  Το αρχικό, εικονίδιο με προτεινόμενο όνομα για το Ναυτίλο

  Εικόνα ενός κελύφους του Ναυτίλου

- Do not include meaningful text in icons

  Icons that contain the text of the program name in the icon. They effectively contain no metaphor or picture for the user to identify with, and are probably harder to read than the accompanying caption. Since icons draw the eyes, an icon that is harder to identify than text is potentially worse than no icon at all. Hence "text icons" should not be used. Moreover, text should be avoided in icons because it makes the icons difficult to translate. If there is text in icons it should not form words in your native language, a good metric for ensuring that the particular text is not lending to the meaning of the icon.

  Κείμενο στο αρχικό εικονίδιο του Gedit

  The original GEdit icon, a rectangle containing the word "GEdit".

- Do not rely on information your users will not have

  Random icons appear to have no association with the application (except perhaps some odd connection in the mind of the developer). These icons should never be used and will likely serve to confuse the user more than help them. The icon's purpose should not be to "look pretty"; this is merely a very desirable side effect.

  The SodiPodi project logo is a squirrel, which is used as the application icon. However, because the logo has no obvious connection to a user, it is a poor icon. Make sure that you are not relying on information that users won't necessarily possess.

  Ένα φαινομενικά τυχαίο εικονίδιο για το SodiPodi

  Ένας σκίουρος

- Do not include extraneous information

  Remember that icons will often be viewed in a smaller form. Too much information may render the icon unintelligible when it is shrunk in size (e.g. to be placed on a panel, or in the tasklist). Too much information also makes it easier for users confuse the purpose of the application. For example, in user testing many users thought an older version of the Evolution icon (below) would launch a word processor. They were misled by the pencil and the paper, which could be seen as extraneous information: it is implicit that the mail program will allow you to write messages as well as receive them. A better icon might have been a simple envelope. Foremost in the icon designer's mind should be a consideration of the minimal visual elements necessary to express the purpose of the program.

  Πρόσθετες πληροφορίες -το εικονίδιο του Evolution

  Το εικονίδιο του Evolution

  This Gnumeric icon (below) is a great icon except for the introduction of extra visual noise. The extra sheet of paper with the 'g' on it behind the spreadsheet and chart adds no significant value to the icon and provides extra visual distraction. In this case the contribution of the extraneous element to the appearance of the icon is negative. Simple, well-balanced icons look more attractive than cluttered icons. An improved icon might contain only the spreadsheet and chart; larger because they can use all of the space in the icon, and hence more visually distinct.

  Πρόσθετες πληροφορίες - το παλιό εικονίδιο του Gnumeric

  Το εικονίδιο του Gnumeric

- Do not include body parts in the icon

  Because GNOME aims to be an international desktop, it needs to avoid imagery that is potentially offensive or crass to other cultures. A prime source of offensive imagery is various body parts in a number of different configurations. Aside from offensive gestures with the hands, arms or fingers; body parts that are considered "clean" in one culture (such as eyes), will be considered tasteless or gross to another (such as a nose). Based on a survey of icons in GNOME, body parts frequently appear in the least communicative icons (often "pointing" at some element in the icon); they are being used as an ineffective crutch for poor metaphor. In these situations body parts should not be used. Even in situations where the metaphor is appropriate (for example an eye representing the sawfish appearance capplet) it is better to avoid using a body part. Often body parts have been used in GNOME to suggest a human "choosing" or "using" something. This is normally an unnecessary point for the icon designer to make. People naturally attempt to understand objects in reference to themselves (show someone a bat and they will think of hitting something with the bat, show someone a tool and they will think of using it, etc). For example, the font selector shows a finger pointing to an "F" suggesting the user choosing between a series of fonts. A better icon would be the text "Aa" presented in an ornate font (calling attention to the font rather than the text). The user doesn't need to be told that they are "choosing" the font, they can infer that easily.

  Χρήση τμημάτων - το εικονίδιο του επιλογέα γραμματοσειράς

  Το αρχικό εικονίδιο του επιλογέα γραμματοσειράς

  Ένα καλύτερο εικονίδιο για τον εισαγωγέα γραμματοσειράς

  A simple replacement icon showing an ornate "Aa"

- Do not base icons off word puns

  This should be avoided for a couple reasons, the most obvious of which is that puns do not translate well. For example, representing the "system log monitor" as a log will likely be uncommunicative in languages other than English. Additionally, most users do not comprehend the word play until it is too late for the icon to assist them. Even after being familiar with the "system log monitor" being represented as a log, users do not form the association fast enough for the icon to assist through in scanning through menu entries. A popular instance of this problem was the proliferation of icons representing the "World Wide Web" as a spider web in the mid 1990s. Part of the value of icons is that they bypass linguistic comprehension and hence are complementary to captions, allowing users to utilize more areas of the mind than linguistic recognition (already used in scanning for captions) when they hunt for items.

  Word play - System Log Monitor icon

  A tree log

- Do not employ violent imagery

  Just as words like "kill" and "slay" are inappropriate in interfaces, violent or destructive icons should be avoided. The "shut down" icon uses the image of an explosive detonation switch, presumably trying to convey the idea of ending something abruptly. However, this icon is likely to intimidate some users of the computer who will not want to click on the icon for fear of breaking something.

  Εικονίδιο τερματισμού με καταστροφικό περιεχόμενο

  Ένα κουμπί έκρηξης

### Σχεδίαση προσιτών εικονιδίων

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

- ένα θέμα υψηλής αντίθεσης

- ένα θέμα με αντίστροφα υψηλή αντίθεση

- ένα μεγάλο θέμα εκτύπωσης

Είναι διαθέσιμα τα ακόλουθα προσβάσιμα θέματα:

- ένα θέμα με εκτύπωση μεγάλης υψηλής αντίθεσης

- ένα θέμα με εκτύπωση μεγάλης αντίστροφης υψηλής αντίθεσης

- ένα θέμα χαμηλής αντίθεσης

- ένα θέμα μεγάλης χαμηλής αντίθεσης

To be considered fully accessible, all icons in your application must be replaced by a suitable alternative when one of these themes is used.

Εικονίδια χαμηλής αντίθεσης

Τα θέματα με εικονίδια χαμηλής αντίθεσης έχουν αποδοκιμαστεί στο GNOME 2.22. Δεν είναι πλέον απαραίτητα για την επίτευξη ισοδύναμων εικονιδίων χαμηλής αντίθεσης.

#### Εικονίδια υψηλής αντίθεσης

High contrast icons are greatly simplified versions of an application's existing regular icons. They are drawn with two colors, black and white, and thicker borders. This style allows high contrast icons to be distinguishable when viewed by a user with a visual impairment. Below is an approximation of what well-designed high contrast icons look like when viewed by someone with a visual impairment.

Προσομοίωση χρήστη χαμηλού επιπέδου όρασης που κοιτάζει εικονίδια υψηλής αντίθεσης

Description | Εικονίδιο υψηλής αντίθεσης | Προσομοιωμένη εμφάνιση
--- | --- | ---
Βιβλίο | Εικονίδιο βιβλίου | Εικονίδιο θολού βιβλίου
Δίσκος | Εικονίδιο δίσκου | Εικονίδιο θολού δίσκου
Αντιγραφή | Εικονίδιο αντιγραφής | Εικονίδιο θολής αντιγραφής

If a regular icon uses a simple, straightforward metaphor the corresponding high contrast icon can often use the same metaphor. In many cases the same metaphor will need to be drawn differently to create a simplified high contrast icon.

Απλοποιημένη αντιπροσώπευση των μεταφορών για εικονίδια υψηλής αντίθεσης

Comparison of photorealistic style of regular icons with the simpler, line-art style of high contrast icons

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

Πολυεπίπεδη τεχνικήγια εικονίδια υψηλής αντίθεσης

Exploded view of layers used in high contrast floppy disk icon

Επαναχρησιμοποίηση υπαρχόντων σχημάτων

Often shapes from existing high contrast icons can be resized and reused to more quickly build up a new icon.

Μην ξεχνάτε το περίγραμμα!

It is useful to design high contrast icons over a temporary background color so you don't forget to draw the external white border.

#### Εικονίδια χαμηλής αντίθεσης

Εικονίδια χαμηλής αντίθεσης

Τα θέματα με εικονίδια χαμηλής αντίθεσης έχουν αποδοκιμαστεί στο GNOME 2.22. Δεν είναι πλέον απαραίτητα για την επίτευξη ισοδύναμων εικονιδίων χαμηλής αντίθεσης.

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

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

Ο διάλογος επιπέδων στο GIMP που εμφανίζει τα ορθά επίπεδα για τη δημιουργία εικονιδίων χαμηλής αντίθεσης

Ο διάλογος επιπέδου στο GIMP που εμφανίζει τα επίπεδα εισόδου που ορίστηκαν σε 100, 1.25, 200, και τα επίπεδα εξόδου σε 100 και 160.

## Είσοδος χρήστη

### Αλληλεπίδραση ποντικιού

#### Κουμπιά

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

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

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

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

Similarly for right-handed users, the right button on a conventional mouse is used for operations involving pop-up menus. We therefore call it the right button in this chapter. You may sometimes see this button referred to in code or documentation as "Button 3" or the "Menu Button".

A conventional mouse with three buttons normally has its third button (or a scrollwheel that acts as a button when pushed) between the left and right buttons. We therefore call it the middle button, but you may sometimes see this referred to in code or documentation as "Button 2" or the "Transfer Button".

Κατευθυντήριες γραμμές

- Your application uses left button gestures for selecting, activating components, dragging, and the display of drop-down menus.

- Your application uses right button gestures to display and select actions from a popup menu.

- Your application uses the middle button to paste the current PRIMARY (usually the last-highlighted) selection at the pointer position, as follows:

  Effect of modifier keys on a middle button transfer operation

  Τροποποίηση | Συνάρτηση
  --- | ---
  Μη τροποποιημένο | Αντιγραφή επιλογής
  Ctrl | Αντιγραφή επιλογής
  Shift | Μετακίνηση επιλογής
  Shift Ctrl | Δημιουργία συνδέσμου, συντόμευσης ή ψευδώνυμο στην επιλογή

  Do not over-ride this functionality in any part of your user interface where the transfer action is likely to be useful. If you do intend to use the middle button for a different purpose somewhere, only do so as a shortcut for experienced users, and only for operations that can also be performed without using the right button or middle button.

- If present on the mouse, the scrollwheel should scroll the window or control under the pointer, if it supports scrolling. Initiating scrolling in this way should not move keyboard focus to the window or control being scrolled. If it supports both horizontal and vertical scrolling, perhaps suggest unmodified scrollwheel should scroll vertically, and Shift scrollwheel should scroll horizontally.

- Ctrl scrollwheel-up should zoom into the window or control under the mouse pointer, and Ctrl scrollwheel-down should zoom out. Zooming in this way should not move keyboard focus to the window or control being zoomed.

- Do not depend on input from the middle or right mouse buttons. As well as being physically more difficult to click, some pointing devices and many assistive technology devices only support or emulate the left mouse button. Some assistive technologies may noteven emulate the mouse at all, but generate keyboard events instead.

- Ensure that every operation in your application that can be done with the mouse can also be done with the keyboard. The only exceptions to this are actions where fine motor control is an essential part of the task. For example, controlling movement in some types of action games, or freehand painting in an image-editing application.

- Do not warp the mouse pointer, or restrict mouse movement to part of the screen. This can interfere with assistive technologies, and is usually confusing even for users who do not rely on assistive technologies.

- Do not require the use of chording (pressing multiple mouse buttons simultaneously) for any operations.

- Do not require the use of multiple (triple- or quadruple-) clicking actions for any operations, unless you also provide an accessible alternative method of performing the same action.

- Allow all mouse operations to be cancelled before their completion. Pressing the Esc key should cancel any mouse operation in progress, such as dragging and dropping a file in a file manager, or drawing a shape in a drawing application.

- Do not assign any actions exclusively to the middle button of a three-button mouse, as not all mice have one.

- Do not hard-code mouse target sizes, or make them too small. Define any mouse targets to be at least as large as the arrow button in a GtkSpinBox in the current gtk theme. Bear in mind that a user with impaired dexterity or vision may be using a theme that results in considerably larger widgets than the default theme.

- Do not refer to particular mouse buttons in your interface unless absolutely necessary. Not everybody will be using a conventional mouse with left, middle and right buttons, so any text or diagrams that refer to those may be confusing.

#### Επιλογή αντικειμένων

##### Αντιστοιχία ποντικιού και πληκτρολογίου

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

Πρότυποι μηχανισμοί επιλογής ποντικιού και πληκτρολογίου

| Ποντίκι | Πληκτρολόγιο
--- | --- | ---
Επιλογή αντικειμένου, αποεπιλογή όλων των άλλων | Κλικ | Διάστημα
Προσθήκη/αφαίρεση από την επιλογή | Ctrl κλικ (εναλλάσσει την κατάσταση επιλογής του αντικειμένου) | Ctrl Διάστημα (εναλλάσσει την κατάσταση επιλογής του εστιασμένου αντικειμένου)
Εκτεταμένη επιλογή | Shift κλικ | Shift Διάστημα, Shift Αρχή, Shift End, Shift PageUp, ή Shift PageDown
Μετακίνηση εστίασης | Κάντε κλικ στο κατάλληλο στοιχείο για να το επιλέξετε | Τα πλήκτρα δείκτη, το Αρχή, το End, το PageUp και το PageDown μετακινούν την εστίαση και την επιλογή ταυτόχρονα. Οι συνδυασμοί πλήκτρων Ctrl πλήκτρα δείκτη, Ctrl Home,Ctrl End, Ctrl PageUp, και Ctrl PageDown μετακινούν την εστίαση χωρίς να επηρεάζουν την τρέχουσα επιλογή.
Επιλογή όλων | Κάντε κλικ στο πρώτο στοιχείο, ύστερα Shift κάντε κλικ στο τελευταίο στοιχείο | Ctrl Ω
Αποεπιλογή όλων | Κάντε κλικ στην περιοχή του παρασκηνίου | Shift Ctrl Ω
Ενεργοποίηση επιλογής | Κάντε κλικ για να ενεργοποιήσετε μία απλή επιλογή. Το Shift ή το Ctrl με διπλό κλικ επεκτείνει ή προσθέτει στοιχείο στην επιλογή πρώτα πριν την ενεργοποίηση ολόκληρης της επιλογής. | Το Return ενεργοποιεί ολόκληρη την επιλογή. Αν δεν έχει επιλεγεί κάτι μέχρι τότε, επιλέγει πρώτα το αντικείμενο που έχιε επισημανθεί τη στιγμή εκείνη.
Αντιστροφή επιλογής | Δεν υπάρχει ισοδύναμη ενέργεια χωρίς το ποντίκι | Ctrl Ε

##### Επιλογή πεδίου οριοθέτησης

For a container whose objects may be arranged in two dimensions, for example the icon view in a file manager, allow multiple selection by dragging a bounding box (sometimes called a "rubber band") around one or more objects. Shift left button drag should add all the objects within the bounding box to the existing selection. Ctrl left button drag should toggle the selected state of all the objects within the bounding box.

Κατευθυντήριες γραμμές

- Αυτή η οδηγία πρέπει να είναι όσο το δυνατό καλύτερα διατυπωμένη :) Επιτρέψτε τη χρήση μίας επιλογής πεδίου με περίγραμμα να ξεκινά μόνο αν πιέζεται το αρχικό κουμπί του ποντικιού:

  - Μέσα στα όρια του παρασκηνίου του πλαισίου, και

  - έξω από τα όρια κάθε άλλου αντικειμένου στο ίδιο πλαίσιο που μπορεί να μεταφερθεί.

  In a drawing application, for example, this means that a bounding box click and drag could start on a blank area of the canvas, or within a shape that had been locked down to prevent accidental editing, but not in an active shape which would itself be dragged instead.

- Select any objects that lie wholly or partly within the bounding box when the mouse button is released. This is different from 1.0 advice, need to update figure 10.2 accordingly.

- Use dynamic highlighting during the drag to show which objects will be selected. Do not wait until the mouse button is released. This avoids any uncertainty about which objects will be selected by the bounding box.

- When a bounding box is being dragged out within a scrollable window, support automatic scrolling of that window when the box is dragged near the window's edges.

Examples illustrating dynamic selection highlighting during bounding box selection. In the first example, the folder color and label highlighting changes to indicate selection. In the second, selection is indicated by the addition of resizing handles to selected objects.

Example illustrating dynamic selection highlighting during bounding box selection
Example illustrating dynamic selection highlighting during bounding box selection

#### Μεταφορά κι απόθεση

Drag and drop is a direct manipulation technique, where you perform actions on selected objects by moving them around the screen with the mouse. You "drag" an object by clicking it, then holding the button while you move the pointer to the object's target location. The object is "dropped" at that location by releasing the mouse button.

Κατευθυντήριες γραμμές

- Use drag and drop only where the user can reasonably guess what the effect might be. The most common uses are:

  - για να μετακινήσετε ή να αντιγράψετε αντικείμενα από μία τοποθεσία σε μία άλλη

  - για να συνδέσετε ένα αντικείμενο με κάποιο άλλο

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

- Provide visual feedback throughout a drag and drop operation. Highlight valid targets and change the mouse pointer as it passes over them. Use the "no drop" mouse pointer when passing over invalid drop targets. See also .

- Augment the mouse pointer with a representation of the objects being dragged. Keep this representation small or make it translucent, so as not to obscure possible drop targets underneath it. See also .

  Example of copy pointer augmented by an icon representing the file being copied

  Copy pointer superimposed on icon representing a file being copied, to form a "copy file" pointer
  The pointer shapes shown here aren't actually the current GTK defaults, they're the current KDE (and Windows) defaults. Should we try and persuade GTK to change?

- Only allow objects to be copied between applications, not moved. This avoids any confusion about which application's Undo function reverses the operation.

- Allow the user to cancel a drag and drop operation by all of these methods:

  - πιέζοντας το πλήκτρο Esc πριν την απελευθέρωση του κουμπιού του ποντικιού

  - dropping the object back on its original location

  - performing a query drag and selecting Cancel on the pop-up menu (see )

  - αποθέτοντας το αντικείμενο σε ένα μη έγκυρο προορισμό απόθεσης.

- Allow the user to undo the effects a drag and drop operation by selecting Edit Undo.

- Allow multiple objects to be dragged by Shift or Ctrl selecting them, then dragging any one of the selected objects.

- Ensure that keyboard users can replicate all drag and drop actions using only menu items or keyboard shortcuts, such as Copy (Ctrl C) and Paste (Ctrl V).

- When an item is being dragged within or into a scrollable window, support automatic scrolling of that window when the mouse is moved near its edges.

- Pop up a menu when the user attemps to drop multiple objects on a target that only accepts single objects. On the menu, list all the objects being dragged, and a Cancel item.

##### Αντικατάσταση συμπεριφοράς για μεταφορά κι απόθεση

###### Μετατροπείς πληκτρολογίου

Allow the user to force the behavior of a drag and drop operation by holding the Ctrl, Shift or both keys throughout. If the user changes modifier keys after they have started the drag, change the mouse pointer immediately and perform the new action when the mouse button is released.

Αποτέλεσμα των πλήκτρων μετατροπής κατά τη μεταφορά κι απόθεση

Τροποποίηση | Συνάρτηση
--- | ---
Ctrl | Αντιγραφή
Shift | Μετακίνηση
Shift Ctrl | Δημιουργία συνδέσμου, συντόμευσης ή ψευδωνύμου

###### Μεταφορά ερωτήματος

Allow the user to drag objects with the middle button , or with Alt left button. Pop up a menu when the mouse button is released, offering the choice of Copy, Move and Link (or whichever subset of those actions is available), and Cancel. Dragging in this way is known as query drag because it prompts the user before changing anything.

##### Δείκτες ποντικιού για μεταφορά κι απόθεση

Use the default GTK drag and drop pointers for the standard transfer operations listed below. This consistency helps ensure the user will know exactly what to expect when they release the mouse button. If you have to design a pointer for a non-standard transfer action not listed here, follow the style of the standard pointers.

Δείκτες ποντικιού για μεταφορά κι απόθεση

Σχήμα δείκτη | Σημασία
--- | ---
Δείκτης "Μετακίνηση" | Move selection. The dragged selection will be moved to the drop location, removing it from its previous location.
Δείκτης "Αντιγραφή" | Copy selection. The dragged selection will be copied to the drop location, leaving the original intact.
Δείκτης "Σύνδεσμος" | Link selection. A link to the selection will be inserted at the drop location. How the link appears will be application-dependent, it may be a hyperlink, an icon, or a duplicate of the orignal selection, for example.
Δείκτης "Απόθεση ερωτήματος" | Middle button or Alt-left button drag. A pop-up menu will be posted at the drop location to ask whether the user wants to Move, Copy, or Link the selection, or Cancel the operation.
Δείκτης "Αδύνατη η μεταφορά εδώ" | Αδύνατη η μεταφορά εδώ. Εμφανίστε αυτό το δείκτη ενώ το ποντίκι διέρχεται πάνω από μία περιοχή όπου η επιλογή δεν μπορεί να μεταφερθεί.

#### Διάδραση ποντικιού με εφαρμογές του πίνακα εφαρμογών (Μικροεφαρμογές)

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

Κατευθυντήριες γραμμές

- The unmodified left mouse button must be sufficient to operate all your applet's controls. Applets are meant to be simple enough that modified clicking, or clicking with other mouse buttons (except to pop up the applet's menu) is never required.

  Suggestion: Clicking and dragging anywhere within the applet window whilst holding down the Ctrl and/or Shift keys could reposition the applet as if dragging with the middle mouse button (Ctrl αριστερά μεταφορά=copy, if moving to another panel; Shift αριστερά μεταφορά=move, if moving to another panel).

- Clicking the right button anywhere within the applet's enclosing window must display either the popup menu for the whole applet, or the popup menu for the control under the mouse pointer. Do not have "dead areas" in your applet that do not respond to a right click.

- Do not use the middle button for anything except dragging the applet to a new location. Middle-clicking and dragging anywhere within the applet window must move the applet, do not require a drag bar or similar device.

  Ctrl left button drag should copy the applet, if moving to another panel; unmodified drag or Shift left button drag should move the applet, if moving to another panel. If moving within same panel, Ctrl=switched movement, Shift=push movement, Alt=free movement.

### Διάδραση πληκτρολογίου

#### Πλοήγηση πληκτρολογίου

A well-designed keyboard user interface plays a key role when you are designing applications. Many power-users prefer to perform most operations with the keyboard rather than the mouse. Visually-impaired users can navigate software more effectively using the keyboard, because using the mouse depends on visual feedback of the mouse pointer location. And mobility impairments can prevent a user from successfully navigating using the mouse, because of the fine motor control skills required.

Make all mouse actions available from the keyboard, and include keyboard access to all toolbars, menus, links and buttons. Every function your application provides must be available using the keyboard alone. Hiding your mouse while you test your application is a great way to test this!

Διάλογος και μενού, με μερικά πλήκτρα συντόμευσης και πρόσβασης να υποδεικνύονται

Στιγμιότυπο ενός διαλόγου και ενός μενού με μερικά πλήκτρα συντόμευσης και πρόσβασης να υποδεικνύονται

Most functionality is easy to make available from the keyboard, by using access keys and shortcut keys, and the toolkit's built-in keyboard navigation features. All controls with labels should have access keys, and frequently-used menu items should be assigned shortcut keys. However, operations that rely on drag-and-drop, for example, may require more thought to make them keyboard accessible.

Κατευθυντήριες γραμμές

- Provide efficient keyboard access to all application features. In particular, ensure every control on menus and in dialogs are directly focusable using access keys or shortcut keys.

- Use a logical keyboard navigation order. When navigating around a window with the Tab key, keyboard focus should move between controls in a predictable order. In Western locales, this is normally left to right and top to bottom.

- Ensure correct tab order for controls whose enabled state is dependent on check box, radio button or toggle button state. When such a button is selected, all its dependent controls should be enabled, and all the dependent controls of any other button in the group should be disabled. When the user selects a check box, radio button or toggle button that has dependent controls, do not automatically give focus to the first dependent control, but instead leave the focus on the button.

- Do not over-ride existing system-level accessibility features. For example, the MouseKeys feature in the GNOME Keyboard Accessibility preferences dialog allows mouse movement and button clicks to be simulated using the keypad. Therefore you cannot add features to your application that can only be accessed by pressing keys on the keypad, as users relying on the MouseKeys feature will not be able to use them.

- Ensure that any text that can be selected with the mouse can also be selected with the keyboard. This is a convenience for all users, but especially for those for whom fine control of the mouse is difficult.

- Ensure that objects that can be resized or moved by drag and drop can also be resized or moved with the keyboard. For example, icons and windows on the desktop. Where precision sizing and placement is potentially important, e.g. shapes in a diagram, also consider providing a dialog into which you can type co-ordinates, or a means of snapping objects to a user-definable grid.

- Do not use general navigation functions to trigger operations. For example, do not use basic Tab keyboard navigation in a dialog to activate any actions associated with a control.

- Show keyboard-invoked menus, windows and tooltips near the object they relate to, but without hiding or obscuring the object to which the menu or tooltip refers,. In GNOME, popup menus are activated with Shift F10, and tooltips with Ctrl F1.

- Provide more than one method to perform keyboard tasks where possible. Users may find some keys and key combinations easier to use than others.

- Do not assign awkward reaches to frequently performed keyboard operations. Some people may only be able to use one hand on the keyboard, so shortcuts that can be easily used with one hand are preferable for common operations. In any case, having to frequently perform long or difficult reaches on the keyboard can increase muscle strain for all users, increasing the risk of pain or injury.

- Do not require repetitive use of simultaneous keypresses. Some users are only able to press and hold one key at a time. Assistive technologies such as the GNOME Keyboard Accessibility preferences dialog do allow users to press the keys sequentially rather than simultaneously, but this of course means the operation will take longer for them.

The point about not having Tab initiate any actions effectively rules out tab completion in dialogs, should we consider/recommend a "hands-free" auto-completion method instead, as offered by OpenOffice.org, Explorer etc.? What does our new 2.0 file selection dialog do?

#### Επιλογή πλήκτρων πρόσβασης

Give all labelled components an access key (underlined letter), with the exception of toolbar controls which would use up too many access key combinations.

Choose access keys to be as easy to remember as possible. Normally, this means using the first letter of the label. However, in complex windows, the choice can become more difficult. Here are some simple rules:

1. Assign access keys to the most frequently-used controls first. If it's not clear which controls will be the most frequently used, assign access keys from left to right, top to bottom (for Western locales).

2. Use the first letter of the label, or of one of its other words if it has more than one. If another letter provides a better association (e.g. "x" in Extra Large) however, consider using that letter instead.

3. If the first letter is not available, choose an easy to remember consonant from the label, for example, "p" in Replace.

4. If no such consonants are available, choose any available vowel from the label.

If duplication of access keys in a window is unavoidable, you should still refrain from duplicating the access keys for any of these buttons that appear in the same window: OK, Cancel, Close, Apply or Help.

Also, it is better not to assign access keys to "thin" letters (such as lowercase i or l), or letters with descenders (such as lowercase g or y) unless it is unavoidable. The underline does not show up very well on those characters in some fonts.

Applications using a non-Roman writing system in conjunction with a standard keyboard can have control labels prefixed with Roman characters as access keys.

#### Επιλογή πλήκτρων συντόμευσης

The tables in summarize the standard shortcut keys to use when your application supports those functions. Your application will not necessarily support all of these functions, see for more information. However, use the recommended shortcut keys for those functions you do support.

You will probably want to add your own shortcut keys for functions specific to your application. If so, as well as following the guidelines below, look at any other existing similar applications to see which shortcut keys they have defined. Your users may already be using those or similar applications, so being consistent where it is possible and sensible to do so will provide a better user experience for them when they begin to use yours.

Κατευθυντήριες γραμμές

- Use Ctrl letter in preference to other combinations when choosing new shortcut keys.

- Insert, Delete, Home, End, Page Up and Page Down are acceptable shortcut keys for functions that are closely related to those keys' normal system-defined uses. Do not assign them to unrelated functions just because you've run out of other shortcut key combinations, however.

- Only assign shortcut keys to the most commonly-used actions in your application. Do not try to assign a shortcut key to everything.

- Choose new shortcut keys to be as mnemonic as possible, as these will be easier to learn and remember. For example, Ctrl E would be a good shortcut for a menu item called Edit Page.

- Use Shift Ctrl letter for functions that reverse or extend another function. For example, Ctrl Z and Shift Ctrl Z for Undo and Redo.

  Unicode συντομεύσεις εισόδου

  Note that you cannot use Shift Ctrl A-thru-F or Shift Ctrl 0-thru-9 for your own purposes, as these combinations are used to enter unicode characters in text fields.

- Do not use Ctrl number or numbered function keys as shortcut keys, unless the number has some obvious relevance to the action. For example, Ctrl 2 and Ctrl 3 may be acceptable shortcut keys for View 2D View and View 3D View in a 3D modelling application.

- Do not use Alt key combinations for shortcut keys, as these may conflict with window manager or menu access keys.

- Do not use symbols that require Shift or other modifiers as part of a shortcut, for example Ctrl%. Remember that symbols that can be accessed without a modifier key on your keyboard may be more difficult to access on different international keyboards.

- Do not assign shortcut keys to menu items that change over time, for example a list of open windows on the Window menu, or a recently-used file list on the File menu. Do assign access keys to these items, however.

- Do not use any of the standard shortcut keys listed in for your own purposes, even if your application doesn't support those functions. This helps reinforce consistency between all GNOME applications.

#### Τυπικά πλήκτρα συντόμευσεις για εφαρμογές

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

Τυπικά πλήκτρα συντόμευσης και πλήκτρα πρόσβασης εφαρμογών του GNOME - μενού Αρχείο

Συνάρτηση | Shortcut | Description
--- | --- | ---
Νew | Ctrl Ν | Δημιουργία νέου εγγράφου
Άνοιγμα | Ctrl Ά | Άνοιγμα ενός εγγράφου
Αave | Ctrl Α | Αποθήκευση του τρέχοντος εγγράφου
Ετύπωση | Ctrl Ε | Εκτύπωση του τρέχοντος εγγράφου
Cλείσιμο | Ctrl Π | Κλείσιμο του τρέχοντος εγγράφου
Qερματισμός | Ctrl Q | Τερματισμός της εφαρμογής

Τυπικά πλήκτρα συντόμευσης και πλήκτρα πρόσβασης για τις εφαρμογές του GNOME - μενού Επεξεργασία

Συνάρτηση | Shortcut | Description
--- | --- | ---
Αναίρεση | Ctrl Z | Αναίρεση της τελευταίας ενέργειας
Επανάληψη | Shift Ctrl Z | Επανάληψη της τελευταίας ενέργειας
Αποκοπτ | Ctrl X | Αποκοπή της επιλεγμένης περιοχής και αποθήκευσή της στο πρόχειρο
Cντιγραφή | Ctrl C | Αντιγραφή της επιλεγμένης περιοχής στο πρόχειρο
Επικόλληση | Ctrl Π | Επικόλληση περιεχομένων του προχείρου στην θέση του ποντικιού/δρομέα
Δντιγραφή | Ctrl Α | Αντιγραφή των επιλεγμένων στοιχείων και προσθήκη τους στο ίδιο παράθυρο, χωρίς να επηρεάζεται το πρόχειρο
Select Ωll | Ctrl Ω | Επιλογή όλων στον εστιασμένο έλεγχο ή παράθυρο
Στην επιλογή θσαγωγή | Ctrl Ε | Επιλογή όλως στον εστιασμένο έλεγχο ή παράθυρο που έχει προηγουμένως αποεπιλεγεί, και αποεπιλογή όλων που δεν επιλέχθηκαν προηγουμένως
Διαγραφή | Del | Διαγραφή επιλογής
Αύρεση… | Ctrl Α | Η εύρεση κάνει αναζήτηση στο τρέχον έγγραφο, επισημαίνοντας τις θέσεις
Αναζήτηση… | Ctrl Α (δείτε τη σημείωση παρακάτω) | Αναζήτηση σε πολλαπλά έγγραφα, αρχεία ή άλλες εξωτερικές πηγές
Find Neμt | Ctrl Μ | Εύρεση επόμενου αποτελέσματος
Εeplace... | Ctrl Β | Εύρεση και αντικατάσταση αποτελεσμάτων
Μeτονομασία | F2 | Εναλλάξτε την ετικέτα του επιλεγμένου στοιχείου σε λειτουργία επεξεργασίας, επιτρέποντας στο χρήστη να πληκτρολογεί σε ένα νέο όνομα.

Εύρεση

Αν η εφαρμογή σας απαιτεί τα στοιχεία μενού Επεξεργασία Εύρεση και Επεξεργασία Εύρεση, χρησιμοποιήστε το συνδυασμό Shift Ctrl F ως συντόμευση για την Εύρεση.

Τυπικά πλήκτρα συντόμευσης και πλήκτρα πρόσβασης για τις εφαρμογές του GNOME - μενού Προβολή

Συνάρτηση | Shortcut | Description
--- | --- | ---
ΕστίασΕη | Ctrl Εστίαση | Εστίαση στο έγγραφο Θα πρέπει πιθανόν να προτείνετε ότι οι συνδυασμοί του Ctrl δουλεύουν ορθά επίσης
ΣμίκρυΆση | Ctrl Σμίκρυνση | Σμίκρυνση στο έγγραφο
Νανονικό μέγεθος | Ctrl 0 | Επαναφορά στο επίπεδο εστίασης κανονικού μεγέθους (γενικά είναι 100%)
Ενανέωση | Ctrl Ε | Επανασχεδίαση της τρέχοτσας προβολής του εγγράφου, χωρίς τον έλεγχο αν τροποποιήθηκε το περιεχόμενο
Επανάληψη | Ctrl Ε (δείτε τη σημείωση παρακάτω) | Επαναφόρτωση του τρέχοντος εγγράφου, ενημερώνοντας το περιεχόμενο από την πηγή αν αυτό είναι απαραίτητο
Ιδαότητες | Alt Εισαγωγή | Εμανίστε το παράθυρο Ιδιότητες του επιλεγμένου αντικειμένου. Ενδεχομένως αναλλακτικά να εμφανίζεται στο μενού Αρχείο αν το αντικείμενο είναι το μόνο στην εφαρμογή του οποίου οι ιδιότητες μπορούν να ελεγχθούν.

Επαναφόρτωση και ανανέωση

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

Τυπικά πλήκτρα συντόμευσης και πλήκτρα πρόσβασης των εφαρμογών του GNOME - μενού Σελιδοδείκτες

Συνάρτηση | Shortcut | Description
--- | --- | ---
Προσθήκη Σελιδοδείκτη | Ctrl Δ | Προσθήκη σελιδοδείκτη για την τρέχουσα τοποθεσία
Επεξεργασία σελιδοδεικτών… | Ctrl Σ (δείτε τη σημείωση παρακάτω) | Ανοίξτε ένα παράθυρο στο οποίο ο χρήστης μπορεί να επεξεργαστεί και να οργανώσει τους αποθηκευμένους σελιδοδείκτες

Τονισμός και επεξεργασία σελιδοδεικτών

Αν η εφαρμογή σας απαιτεί τα στοιχεία μενού Μορφή Έντονα και Σελιδοδείκτες Επεξεργασία σελιδοδεικτών…, χρησιμοποιήστε το συνδυασμό Shift Ctrl D ως συντόμευση για την Επεξεργασία σελιδοδεικτών.

Τυπικά πλήκτρα συντόμευσης και πλήκτρα πρόσβασης για τις εφαρμογές του GNOME - μενού Μετάβαση

Συνάρτηση | Shortcut | Description
--- | --- | ---
Σack | Alt Αριστερά | Μετάβαση στην προηγούμενη θέση στην αλυσίδα πλοήγησης
Επόμεμο | Alt Δεξιά | Μετάβαση στην επόμενη θέση στην αλυσίδα πλοήγησης
Αάνω | Alt Πάνω | Μετάβαση ένα επίπεδο πάνω στην ιεραρχία πλοήγησης
Βαρχή | Alt Αρχή | Μετάβαση στην αρχική σελίδα που ορίστηκε από το χρήστη ή την εφαρμογή
Λοποθεσία… | Ctrl Λ | Παρουσιάστε ή εστιάστε ένα πεδίο εισαγωγής στο οποίο το χρήστης μπορεί να πληκτρολογεί μία νέα διεύθυνση ή τοποθεσία για προβολή

Τυπικά πλήκτρα συντόμευσης και πλήκτρα πρόσβασης των εφαρμογών του GNOME - μενού Μορφοποίηση

Συνάρτηση | Shortcut | Description
--- | --- | ---
Σντονα | Ctrl Σ | Κάντε έντονο/κανονικό το επιλεγμένο κείμενο
Αε υπογράμμιση | Ctrl Α | Υπογράμμιση/αφαίρεση υπογράμμισης από το επιλεγμένο κείμενο
Ελάγια | Ctrl Ε | Κάντε πλάγιο/κανονικό το επιλεγμένο κείμενο

Τυπικά πλήκτρα συντόμευσης και πλήκτρα πρόσβασης των εφαρμογών του GNOME - μενού Βοήθεια

Συνάρτηση | Shortcut | Description
--- | --- | ---
Cεριεχόμενα | F1 | Έμφάνσιη της σελίδας των περιεχομένων της βοήθειας για την τρέχουσα εφαρμογή

##### Τυπικά πλήκτρα συντόμευσης του διαχειριστή παραθύρων

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

Πλήκτρα συντόμευσης και πλήκτρα πρόσβασης για τον τυπικό διαχειριστή παραθύρων

Συνάρτηση | Shortcut | Description
--- | --- | ---
Εναλλαγή πρωτεύοντων παραθύρων | Alt Tab, Shift Alt Tab | Εναλλάξτε την εστίαση στο επόμενο ή προηγούμενο ανώτερο παράθυρο επιπέδου στην επιφάνεια εργασίας
Εναλλαγή πλαισίων | Ctrl Alt Tab, Shift Ctrl Alt Tab | Εναλλάξτε την εστίαση στο επόμενο ή το προηγούμενο πλαίσιο στην επιφάνεια εργασίας.
Αποσύνδεση | Ctrl Alt Del | Ανοίξτε το διάλογο για την επιβεβαίωση αποσύνδεσης από τη συνεδρία
Μενού παραθύρου | Alt Διάστημα | Άνοιγμα του μενού του παραθύρου
Cλείσιμο | Alt F4 | Κλείσιμο του υποκείμενου παραθύρου
Επαναφορά | Alt F5 | Επαναφορά του υποκείμενου παραθύρου στο προηγούμενο μέγεθός του
Αναλλαγή δευτερευόντων παραθύρων | Alt F6, Shift Alt F6 | Εναλλάξτε την εστίαση στο επόμενο ή προηγούμενο δευτερεύον παράθυρο που σχετίζεται με την εφαρμογή (προσθήκη λειτουργικότητα για το metacity TBD, δείτε το σφάλμα με αριθμό 94682)
Μετακίνηση | Alt F7 | Μετακίνηση του υποκείμενου παραθύρου
Αλλαγή μεγέθους | Alt F8 | Αλλαγή μεγέθους του υποκείμενου παραθύρου
Ελααχιστοποίηση | Alt F9 | Ελαχιστοποίηση του υποκείμενου παραθύρου
Μεμιστοποίηαη | Alt F10 | Μεγιστοποίηση του υποκείμενου παραθύρου
Αλήρης οθόνη | Ctrl F11 | Εμφανίστε το παράθυρο σε πλήρη οθόνη, χωρίς περιγράμματα, γραμμή μενού, εργαλειοθήκη ή γραμμή κατάστασης

##### Τυπικά πλήκτρα συντόμευσης για την πλοήγηση σε γραφικά συστατικά

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

Τυπικά πλήκτρα πλοήγησης πληκτρολογίου του GNOME για γραφικά συστατικά

Κλειδί | Συνάρτηση
--- | ---
Tab, Shift Tab | Μετακινεί την εστίαση πληκτρολογίου στον επόμενο/προηγούμενο έλεγχο
Ctrl Tab, Shift Ctrl Tab | Μετακινεί την εστίαση πληκτρολογίου έξω από το επισυναπτόμενο γραφικό συστατικό στον επόμενο/προηγούμενο έλεγχο, στις περιπτώσεις εκείνες όπου το πλήκτρο Tab έχει κάποια άλλη συνάρτηση (π.χ. το GtkTextView)
Ctrl F1 | Ανάδυση της συμβουλής οθόνης για τον εστιασμένο έλεγχο
Shift F1 | Εμφάνιση της εκάστοτε συναφούς βοήθειας για το εστιασμένο παράθυρο ή έλεγχο
F6, Shift F6 | Εστίαση στο επόμενο/προηγούμενο πλαίσιο σε ένα παράθυρο GtkPaned
F8 | Εστίαση στην γραμμή διαχωρισμού στο παράθυρο
F10 | Εστίαση στη γραμμή μενού του παραθύρου
Shift F10 | Ανάδυση του συναφούς μενού για τα επιλεγμένα αντικείμενα
Διάστημα | Εναλλαγή της επιλεγμένης κατάστασης του εστιασμένου πεδίου ελέγχου, κουμπιού συχνοτήτων ή κουμπιού εναλλαγής
Return | Ενεργοποίηση του εστιασμένου κουμπιού, στοχείου μενού κλπ.
Αρχή, End | Επιλογή/μετακίνηση στο πρώτο στοιχείο του επιλεγμένου γραφικού συστατικού
PageUp, Ctrl PageUp, PageDown, Ctrl PageDown | Κύλιση της επιλεγμένης προβολής μία σελίδα πάνω/αριστερά/κάτω/δεξιά

##### Επιπρόσθετα πλήκτρα συντόμευσης για πλοήγηση σε γραφικά συστατικά

The following emacs-style navigation shortcut keys are still available in GNOME 2.0 text entry fields (by selecting the "emacs" scheme in the GNOME Keyboard Shortcuts preferences dialog), but are disabled by default. Since some users will still want to use them, do not over-ride them for your own purposes in any situations where a text entry control has focus.

Πλήκτρα πλοήγησης με Emacs-τύπο για γραφικά συστατικά

Κλειδί | Συνάρτηση
--- | ---
Ctrl Ω | Μετακίνηση του δρομέα μέχρι την αρχή της γραμμής
Ctrl Δ | Διαγραφή του χαρακτήρα που ακολουθεί/είναι κάτω το/του δρομέα
Ctrl Ε | Μετακίνηση του δρομέα μέχρι το τέλος της γραμμής
Ctrl K | Διαγραφή από το δρομέα μέχρι το τέλος της γραμμής
Ctrl Α | Διαγραφή της τρέχουσας γραμμής
Ctrl Π | Αποκοπή στο πρόχειρο
Ctrl Y | Επικόλληση από το πρόχειρο
Ctrl Διάστημα | Ορισμός επισήμανσης
Ctrl Del, Alt Δ | Διαγραφή από το δρομέα μέχρι το τέλος της λέξης
Ctrl Backspace | Διαγραφή από το δρομέα μέχρι την αρχή της λέξης
Alt Διάστημα | Διαγραφή όλου του λευκού κενού γύρω από το δρομέα, εισαγωγή ξανά ενός απλού κενού
Alt\ | Διαγραφή όλου του λευκού κενού γύρω από το δρομέα

#### Διάδραση πληκτρολογίου με εφαρμογές του πίνακα εφαρμογών (Μικροεφαρμογές)

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

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

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

When an object on a panel has focus, the Tab key normally moves focus to the next object on the panel. If your panel application also used Tab for its own internal navigation, the user would have to press Ctrl Tab to move focus out of your panel application instead. This inconsistency would be detrimental to the user experience.

## Γλώσσα

Consistent labelling creates a familiar environment that the user can navigate comfortably. The more familiar the environment, the easier task of finding information.

### Ετικέτες

#### Έλεγχοι

Clear, consistent and concise labelling of controls helps users to work out the purpose of a window or dialog they have never seen before. To a visually-impaired user, clear labels are even more important. A user who relies on a screenreader has no assistance from icons, layout, or spacing to work out what the controls do, so clear labelling is essential.

Κατευθυντήριες γραμμές

- Διατηρήστε τις ετικέτες μικρές. Π.χ.:

  - Reduces the expansion of text when translated, and thus minimizes the effort required to localize the UI. Translated English text can expand up to 30% in some languages.

  - Διευκολύνει τη χρήση των μηχανών μετάφρασης.

  - Βελτιώνει την ταχύτητα αντίληψης για το χρήστη.

  Do not shorten your labels to the point of losing meaning, however. A three-word label that provides clear information is better than a one-word label that is ambiguous or vague. Try to find the fewest possible words to satisfactorily convey the meaning of your label.

- Do not include text in windows that describes how to use the interface, for example You can install a new theme by dropping it here. As well as adding visual clutter, descriptive labels can also conflict with information provided in documentation.

- Use standard terms. You can find a list of standard user interface terms in the GNOME Documentation Style Guide, Recommended Terminology..

- Apply standard capitalization rules. See for guidelines about capitalization of user interface labels

#### Συμβουλές οθόνης

##### Συμβουλές οθόνης εργαλειοθήκης

A toolbar tooltip is the short description of a toolbar control's functionality that the user sees when they mouse over it.

Κατευθυντήριες γραμμές

- Concisely state the purpose of the control. The tooltip should be more descriptive than the corresponding menu item name, if there is one, but not verbose. For example, Undo last action for the Undo button.

- Χρησιμοποιήστε κανόνες κεφαλαιοποίησης σε μία πρόταση. Δείτε την ενότητα .

##### Συμβουλές οθόνης εφαρμογής

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

Κατευθυντήριες γραμμές

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

- Χρησιμοποιήστε κανόνες κεφαλαιοποίησης σε μία πρόταση. Δείτε την ενότητα .

- Use standard punctuation rules, with the exception that you do not use a period to end the tooltip.

#### Μενού

Κατευθυντήριες γραμμές

- Use the recommended standard labels for menu items and titles, where they exist. Do not use synonyms such as Exit instead of Quit. See for a list and descriptions of standard menu items and titles.

- Χρησιμοποιήστε κανόνες κεφαλαιοποίησης της επικεφαλίδας για όλα τα στοιχεία μενού και τους τίτλους. Δείτε την ενότητα για περισσότερες πληροφορίες.

### Μηνύματα ειδοποιήσεων και σφαλμάτων

Μία ορθή προειδοποίηση ή μήνυμα σφάλματος περιέχει δύο στοιχεία:

1. Μία συνοπτική περιγραφή του προβλήματος.

2. Μία λίστα τρόπων με τους οποίουε ο χρήστης διορθώνει το πρόβλημα.

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

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

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

### Βοήθεια διαδικτύου

Writing online help is a specialized task, and is therefore not covered in any depth here. Refer to the GNOME Documentation Styleguide for guidance on writing clear, consistent and helpful documentation for your application.

## Λίστες ελέγχου

### Πράγματα που μπορείτε να κάνετε μόνος/η σας

#### Πριν ξεκινήσετε

Σκεφτείτε τον τύπο ατόμων που αναμένετε να χρησιμοποιήσουν την εφαρμογή σας. Ύστερα συνθέστε μερικά "σενάρια" για κάθε τύπο χρήστη— μία μικρή ιστορία που περιγράδει τις τυπικές εργασίες που αυτοί οι χρήστες θα χρησιμοποιούν στην εφαρμογή σας. Οι εργασίες αυτές θα πρέπει να είναι κατά το πρότυπο ως εξής:

> Fred needs to find an email about widgets that he received last week

πιο πολύ από

> Fred clicks on the Find button and types `widgets` into the dialog.

This way, you can use the same scenarios to test and compare different interface designs, and to spot any missing functionality.

Include these user descriptions and scenarios with the documentation you commit to CVS. This way, other contributors will get to understand your users too, can help to develop the application with that knowledge, and can provide more scenarios of their own.

#### Πρόσβαση πληκτρολογίου και εστίαση

When you have started implementing your interface, hide your mouse, and make sure you can still use it to do everything using only the keyboard. Implement keyboard functionality at the same time as mouse functionality— don't leave it until the end.

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

- Τα μενού με ευαίσθητο περιεχόμενο εμφανίζονται σωστά (Shift F10).

- Οι συμβουλές οθόνης μπορούν να αναδυθούν και να επιστρέφουν στην θέση τους για όλους τους ελέγχους (Ctrl F1, Esc).

- Όλες οι συναρτήσεις που βρίσκονται στην εργαλειοθήκη μπορούν να εκτελούνται χρησιμοποιώντας το πληκτρολόγιο.

- Μπορείτε να χειριστείτε πλήρως κάθε έλεγχο στην περιοχή πελάτη της εφαρμογής και των διαλόγων.

- Μπορούν αν επιλεγούν κείμενο και αντικείμενα μέσα στην περιοχή του πελάτη.

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

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

#### Προσθήκη θεμάτων, χρωμάτων και αντίθεσης

Δοκιμάστε διάφορα θέματα του GNOME για ν αβεβαιωθείτε ότι η εφαρμογή σας σέβεται όλες τις διαθέσιμες ρυθμίσεις.

Δοκιμάστε την εφαρμογή σας σε θέματα ασπρόμαυρα, υψηλής αντίθεσης και επιβεβαιώστε ότι όλες οι πηλροφορίες μεταφέροντια ορθά. Αν δεν έχετε κάποιο κατάλληλο θέμα υψηλής αντίθεσης του GNOME για να δοκιμάσετε, εκτυπώστε κάποια στιγμιότυπα σε ασπρόμαυρο (όχι σε αποχρώσεις του γκρι) και βεβαιωθείτε ότι όλες οι σημαντικές πληροφορίες παραμένουν ορατές— προσεγγιστικά είναι αυτό που θα έβλεπε ο χρήστης με ένα θέμα υψηλής αντίθεσης.

#### Κινούμενες εικόνες

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

### Πράγματα τα οποία μπορείτε να κάνετε με άλλα άτομα

#### Λήψη ταχύτατης ανάδρασης

Είναι πάντα δελεαστικό, αλλά μην ξεκινήσετε την κωδικοποίηση της διεπαφής σας απευθείας. Σκιαγραφήστε κάποιες ιδέες πρώτα σε κάποιο χαρτί, ή στο Glade ή σε HTML αν προτιμάτε. (Αλλά μην δελεαστείτε και προσθέσετε κάποια λειτουργικότητα σε αυτό το σημείο αν το κάνετε με αυτό τον τρόπο!)

Show these prototypes to other people— the GNOME mailing lists and IRC are ideal for finding likely candidates. Ask them to use these prototype interfaces to run through some of the scenarios you came up with earlier. You'll probably get questions like "how would I do X", "which menu is Y on"... these questions will help you think about the interface from the user's viewpoint. You'll probably also get a few suggestions about how to do things differently— these ideas may or may not turn out to better than yours, but any idea from a potential user is worth considering!

You should also consider seeking opinions from the GNOME Usability team. They have designed many user interfaces before and may be able to spot potential problems at this early stage, before you take your design too far to change easily.

Once you've decided on the basic interface design and have started coding parts of it, find somebody to try it out again— it doesn't have to be the same person. You'll probably find some more problems that were hard to see on your static paper prototype. By finding these now, it's usually not too late to fix them without too much trouble.

#### Διεθνοποίηση και τοπικοποίηση

If you intend your application to be translated into different languages, show draft designs of your application to the GNOME Translation Team. They'll help you find potential translation problems, such as not leaving enough space for translated labels, shortcut keys that cause problems on a different keyboard layout, or using new terms in your app that are hard to translate.

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

## Περιεχόμενα

(lists in alphabetical order, if you were accidentally omitted please email the authors or file a bug)

### Ενεργοί συντάκτες

- Calum Benson, calum.benson@sun.com

- Bryan Clark, clarkbw@gnome.org

- Seth Nickell, seth@gnome.org

### Πρόσθετες εικονογραφήσεις

- Mihai Anca, ropiku@gmail.com

- Denis Anisimov, genius@s146.net.ru

- Wouter Bron, wousser@gmail.com

### Πρώην/Μη ενεργοί συντάκτες

- Coleen Baik

- Adam Elman

- Colin Z. Robertson

- Maciej Stachowiak

### Αναθεωρητές και συντελεστές

- Chip Alexander

- Kathy Fernandes

- John Fleck

- Andrea Mankoski

- Nils Pederson

- Sebastian Rittau

- Christian Rose

- Sharon Snider

- Suzanna Smith

- Matthew Thomas

Η εργασία είναι σε εξέλιξη, απαιτούνται περισσότεροι τίτλοι -David

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

Γενικά για το σχεδιασμό

Dreyfuss, Henry

Designing for People

    Νέα Υόρκη, NY

: allworth press,
2003
Μια επανέκδοση του κλασσικού βιβλίου σχεδιασμού της δεκαετίας του '60 από το σχεδιαστή των πάντων, από τις μοντέρνες καμπίνες αεροπλάνων μέχρι το τηλέφωνο Bell. Ίσως το καλύτερο βιβλίο για εισαγωγή σε γενικά ζητήματα και στο σκεπτικό του σχεδιασμού (βιομηχανικού, παραγωγής ή διεπαφής). Επίσης, ένα ευχάριστο ανάγνωσμα.
Mandel, Theo.

The Elements of User Interface Design

.

    Νέα Υόρκη, NY

: Wiley Computer Publishing,
1997
. Ένα χρήσιμο βιβλίο που καλύπτει όλα τα βασικά και μια ευρεία γκάμα από περιβάλλοντα και πρόσφατες εξελίξεις όπως παράγοντες διεπαφής, βοηθούς (wizards), φωνητική διεπαφή, κοινωνική διεπαφή χρήστη και σχεδιασμό ιστότοπων.
Norman, Donald A.

The Design of Everyday Things

.

    Νέα Υόρκη, NY

: Doubleday,
1990
. Ένα εξαιρετικό και διασκεδαστικό βιβλίο σχετικά με το σχεδιασμό πίσω από απλά καθημερινά πράγματα.

Γραφικός σχεδιασμός

Horton, William

The Icon Book: Visual Symbols for Computer Systems and Documentation

.

    Νέα Υόρκη, NY

: John Wiley & Sons,
1994
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David
Misjksenaar, Paul και Piet Westendorpp.

Open Here: The Art of Instructional Design

.

    Λονδίνο, Ηνωμένο Βασίλειο

: Thames & Hudson,
1999
Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David
Mullet, Kevin και Darrell Sano.

Designing Visual Interfaces: Communication Oriented Techniques

.

    Englewood Cliffs, NJ

: Prentice Hall,
1995
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David
Rubin, Jeffrey.

Handbook of Usability Testing: How to Plan, Design and Conduct Effective Tests

.

    Νέα Υόρκη, NY

: John Wiley & Sons,
1994
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David
Tufte, Edward R.

Θεώρηση πληροφοριών

.

    Cheshire, CT

: Graphics Press,
1990
Το δεύτερο κλασικό έργο του Tufte για την απεικόνιση πληροφορίας.
Tufte, Edward R.

The Visual Display of Quantitative Information

. Έκδοση επανεκτύπωσης,

    Cheshire, CT

: Graphics Press,
1992
Το πρώτο κλασικό έργο του Tufte για την απεικόνιση πληροφορίας.
Williams, Robin.

The Non-Designer's Design Book: Design and Typographic Principles for the Visual Novice

.

    Berkeley, CA

: Peachpit Press,
1994
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David

Χρηστικότητα

Arlov, Laura.

GUI Design for Dummies

.

    Foster City, CA

: IDG Books Worldwide,
1997
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David
Cooper, Alan και Reimann, Robert.

About Face 2.0 : The Essentials of User Interface Design

. John Wiley & Sons,
2003
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο
Cooper, Alan.

The Inmates are Running the Asylum : Why High Tech Products Drive us Crazy and How to Restore the Sanity

. SAMS,
1999
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο
Isaacs, Ellen και Alan Walendowski.

Designing from Both Sides of the Screen

.

    Indianapolis, IN

: New Riders Publishing,
2001
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David
Nielsen, Jakob.

Usability Engineering

.

    San Francisco, CA

: Morgan Kauffman,
1993
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David
Tognazzini, Bruce.

Tog on Interface

.

    Reading, MA

: Addison-Wesley,
1992
. Χρειάζεται ένα σχόλιο γι' αυτό το βιβλίο -David