* Add UI Guidelines to SDK docs * Add UI Guidelines to SDK docs * Fixing build errors * optimize PNGs * add UI guidelines landing page placeholder * IJ SDK Docs <-> UI guidelines crosslinks updated * split_button.md: remove reference to removed setting * use <ui-path> * use MD instead of <note> * use %gh-ic% links * drop_down.md: fix <control> * code samples: fix most obvious issues * remove obsolete `_defaults.md` * ijs.tree: UI cleanup * Delete "under construction" pages * Fix headers * Add link-summary * Remove invalid links * Delete unused files * Remove ''@2x' from image file names * Use Markdown syntax for some images and tables * Rename non-unique files to unique * Remove alpha in images where content is unreadable * align quotation marks * Controls: cleanup/fixes, add code links, edit * tooltip.md: fix HTML * misc fixes * typography.md: fix table contents * typography.md: fix table header * UI guidelines landing page + TOC fixes * remove unused icons_list.md * Normalize image paths * validation_errors.md: Fix broken tab * "correct"/"incorrect" labels styling * Resize images to 50% * button.topic: fixes * grammar, spelling, minor edits * remove ' ' * fix 99px * cleanup * UI_kit.md: minor * Fix "MRK058: Large image in paragraph rendered as a block element by default." * button.topic: Add img[alt] * mnemonics.md: Update "Contact Us" link to the IJSDK YouTrack * split_button.md: Use ui-path * UI landing: add feedback snippet * Improve code snippets formatting and naming * Fix code samples * Fix code samples * Add Kotlin variants for code samples * Add icons_list.md * crosslinks * Change external link to https://intellij-icons.jetbrains.design/ * icons list -> https://intellij-icons.jetbrains.design * Hide info about reducing split button to simple action button (now it is available through the registry only) * reformat * icons_style.md: Images in new line --------- Co-authored-by: marianna.kononenko <marianna.kononenko@jetbrains.com> Co-authored-by: Yann Cébron <yann.cebron@jetbrains.com>
4.5 KiB
Link
UI guidelines on using links.
Implementation: ActionLink
, DropDownLink
When to use
Use a regular link for navigation between pages of the same window.
This option is in the Settings dialog. "Configure servers" opens another page of the same dialog.
Do not use a button to navigate to another page of the same window.
Use an external link for navigation to web resources. See below for the external link icon.
Use a regular or drop-down link for secondary actions in packed or small UI areas.
The "Reset" action is a link for two reasons: (1) The action appears only when the default value in the field is changed and reverting to a default is considered a rare scenario. (2) A lightweight link fits better than a button in this busy layout.
The "Modify options" drop-down link fits into the top right corner of a busy layout.
Do not use links for primary actions or when a UI is not constrained. Use a button or a drop down list instead. These controls can be selected from the keyboard and are bigger and easier to click.
How to use
Writing guidelines
Use sentence capitalization.
Add an ellipsis to a button-link if it opens another UI area where input is possible. See examples for the Button.
Do not use words like "navigate" or "click here". A link already implies navigation or clicking.
When possible, replace "Learn more" and other generic phrases with more informative ones.
Link as a part of text
A link can be a part of a checkbox or radio button label or of any stand-alone text, like the text in an empty state or in context help.
Make a link the minimum phrase that is enough to understand what will happen without reading the whole text.
Link in a tree or table
Use a link as a secondary action for some items of a tree or table.
If an action is needed for all items of a tree or table:
- Add an icon button to a toolbar.
- For a list of choices, add a separate table column of drop-down cells (see Table).
- If a link in every tree or table line has meaningful formatting, leave it:
{width=342} Links in the "Push Commits" window have the format that helps understand the relation between them: "[remote repository] : [branch]". Moving these links elsewhere would break this meaning.
External link icon
Always add the arrow icon for an external link. The icon shows that the user will switch to a browser and lose the current context.
val externalLink = ActionLink("External link") {
BrowserUtil.browse("https://www.jetbrains.com")
}.apply {
setExternalLinkIcon()
}
ActionLink externalLink = new ActionLink(
"External link",
event -> BrowserUtil.browse("https://www.jetbrains.com")
);
externalLink.setExternalLinkIcon();
An exception is a help topic link in empty states. The help icon already hints that this is an external help resource, so the arrow icon is unnecessary.
Drop-down link
Drop-down links show a context menu or a popup.
Use DropDownLink
to implement a drop-down link.
Placement
Lay out button-links as buttons and dropdown-links as combo boxes. See Layout.
Built-in behavior
A focused link is activated from the keyboard with Space.