Ευαισθησία

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

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

Φιγούρα 6-1Δύο πλαίσια ελέγχου: ενεργό (επάνω) και ανενεργό (κάτω)

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

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

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

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

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

Παράδειγμα 6-1Δείγμα τμήματος κώδικα που εμφανίζει πώς να κάνετε έναν έλεγχο κλειδωμένου GConf ανενεργό
if (!gconf_key_is_writable (http_proxy))
        gtk_widget_set_sensitive (http_proxy_field, FALSE)·

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

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

Φιγούρα 6-2Παράδειγμα ενός διαλόγου με κλειδωμένους ελέγχους

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