• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Export Word
    • Attachments
    • Page Information

    Loading...
  1. Dashboard
  2. OpenJFX
  3. Main
  4. Projects and Components
  5. Controls
  6. User Experience Specifications
  7. Accordion User Experience Documentation

Accordion User Experience Documentation

  • Created by Jindrich Dinga, last modified on Sep 19, 2013

Author: Dusan Pavlica

1. Introduction

This document is the user experience specification for the JavaFX 2.0 Accordion UI control.

 

2. Overview

Accordion is a control similar to TabPane UI control. It contains expandable / collapsible panels and only one can be expanded at the time. The content is shown directly below the accordion header of the expanded panel. The accordion is useful when content must be displayed within limited space. It is often used on the web as a part of secondary navigation in left or right column. Usually it exists in vertical position but the horizontal position makes sense for some use cases too. The following is an overview of the Accordion look.

Figure 1 Accordion overview

 

Behavior of Panels

There are the following features of panels:

  • Each panel contains header and expandable/collapsible area.
  • Each panel has a title in the header and there can be also icon placed next to the title.
  • User can expand only one panel at the time by clicking its header.
  • There should be a nice transition while the panel is being expanded/collapsed.
  • The panels are focusable so user can cycle among them by TAB key. So some kind of focused state needs to be visualized.
  • Panel can be also disabled then user can't click it and expand it. The disabled one has to be distinguishable from enabled panels (e.g. by grey title and by disabled look of its icon).

 

3. Keyboard Navigation

The following table describes how keystrokes should be processed in case an Accordion has focus:

KeystrokeAction
Down / Right ArrowIf focus is on a header, move focus to the next header. Wrap from last to first. Do not collapse the expanded panel.
Up / Left ArrowIf focus is on a header, move focus to the previous header. Wrap from first to last. Do not collapse the expanded panel.
Page UpIf focus is on a header, move focus to the previous header and expand its corresponding panel. Wrap from first to last.
Page DownIf focus is on a header, move focus to the next header and expand its corresponding panel. Wrap from last to first.
HomeIf focus is on a header, move focus to the very first header and expand its corresponding panel.
EndIf focus is on a header, move focus to the very last header and expand its corresponding panel.
Enter / SpaceWhen focus is on a header, expand/collapse its corresponding panel.
Tab

When focus is on a header and its corresponding panel is expanded, move focus to the first focusable control in the panel. If focus is on the last focusable control in the panel, move focus to the next focusable control outside the Accordion. 

When focus is on a header and its corresponding panel is collapsed, move focus to the next focusable control outside the Accordion.

Shift - TabWhen focus is on a focusable control in an expanded panel, move focus on previous focusable control in the panel. If focus is on the very first focusable control in the panel, move focus to the corresponding header.

When focus is on a header, move focus to the previous focusable control outside the Accordion
Ctrl - Tab / Ctrl - Page DownMove focus to the next header and expand its corresponding panel. Wrap from last to first.

Use CMD-TAB or CTRL-PAGE DOWN on Mac.
Ctrl - Shift - Tab / Ctrl - Page UpMove focus to the previous header and expand its corresponding panel. Wrap from first to last.

Use CMD-SHIFT-TAB or CTRL-PAGE UP on Mac.
Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 206, "requestCorrelationId": "b875bae302e8b8ee"}