<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title><style type="text/css">.felamimail-body-blockquote {margin: 5px 10px 0 3px;padding-left: 10px;border-left: 2px solid #000088;} </style></head><body>* Apply standard control labels in your app. <br>http://techbase.kde.org/Projects/Usability/HIG/Labels<br><br>== Purpose ==<br>Common controls should behave ‘common’ and look like everyday controls. Therefore, it is much recommended to use standard font. Bold or italic font should not be applied to control labels.<br><br>== Guidelines ==<br>* Keep labels short; be aware that [[Projects/Usability/HIG/localization|translated]] English text can expand up to 30% in some languages.<br>* 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.<br>* When the label is associated with another control, like a line edit, be sure to set the the line edit as the [http://qt-project.org/doc/qt-4.8/qlabel.html#setBuddy| buddy] of the label.<br>=== Dialogs ===<br>* If a dialog is user initiated, identify it using the command or feature name. <br>* If it is program or system initiated (and therefore out of context), label it using the program or feature name to give context.<br>* Do not use the title to explain what to do in the dialog – that's the purpose of the main instruction.<br>=== Menus ===<br>* Prefer verb-based names; Avoid generic, unhelpful verbs, such as ''Change'' or ''Manage''.<br>* Use singular nouns for commands that apply to a single object, otherwise use plural nouns.<br>* For pairs of complementary commands, choose clearly complementary names. Examples: ''Add/Remove'', ''Show/Hide'', or ''Insert/Delete''.<br>* Choose menu item names based on user goals and tasks, not on technology. <br>* Assign access keys to all menu items (Alt+Letter). <br>=== Buttons ===<br>* Label command buttons with an imperative verb.<br>* Do not use ending punctuation for labels.<br>* Describe the action that the button performs in a tooltip. <br>* End the label with an ellipsis if the command requires additional information to execute. <br>* Assign access keys to all buttons (Alt+Letter). <br>=== Links ===<br>* Choose a concise, self-explanatory label that clearly communicates and differentiates what the command link does. <br>* Do not use ellipses.<br>=== Tabs ===<br>* Label tabs based on their pattern. Use nouns rather than verbs, without ending punctuation. <br>* Do not assign an access key. Tabs are accessible through their shortcut keys (Ctrl+Tab, Ctrl+Shift+Tab). <br>=== Check boxes and Radio buttons ===<br>* Label every check box or radio button.<br>* Assign a unique access key to each label.<br>* Write the label as a phrase or an imperative sentence, and use no ending punctuation.<br>* Write the label so that it describes the selected state.<br>* For a group, use parallel phrasing and try to keep the length about the same for all labels.<br>* For a group, focus the label text on the differences among the options. <br>* Use positive phrasing. Don't phrase a label so that selecting means not to perform an action.<br>* Describe just the option with the label. Keep labels brief so it's easy to refer to them in messages and documentation.<br>=== Group box ===<br>* Use the group label to explain the purpose of the group, not how to make the selection. End each label with a colon.<br>* Do not assign an access key to the label. <br>* For a selection of one or more dependent choices, explain the requirement on the label.<br> <br>== Implementation ==<br>* {{qt|QLabel}}<br>* [http://api.kde.org/4.10-api/kdelibs-apidocs/kdeui/html/classKSqueezedTextLabel.html KSqueezedTextLabel]<br><br></body></html>