Description

Task panels are similar to dialogs; they are both used for self-contained tasks; they have Footer bars; and they sit at the forefront of the UI. Their main difference is their . Task panels are a non-modal alternative to dialogs that don’t block the entire UI.

Usage

Use a task panels similarly to how a dialog is used: for simple tasks that need a and button. Examples of tasks include small processes, procedures, forms, selections, settings, configurations, downloads and uploads; as well as, creating, maintaining, and editing simple items.

Anatomy

Header Style

Most task panel headers contain an icon (1A) and label (1B). The label describes and communicates what the task is. Because not every task will have an associated icon, use of a header icon is optional (C).

Avoid using generic icons or overly technical labels for task panel headers and footer buttons, otherwise risk the task and its intent not being clearly communicated to the user.

Task panels are the only Contextual side panel with a Footer toolbar (3) because that is a key piece of formatting a task. This also establishes a strong connection with Dialog boxes and Popovers that contain footers of their own and may be used as alternatives to Task panels.

Footer toolbars in Task panels generally contain at least two right-aligned buttons: the finalizing action in an emphasized style button (3A), and a negative path action in a transparent style button (3B). Additional actions may be placed in the Footer if needed, but these are generally considered secondary or standard and thus use a ghost style button (3C).

Footer button labels should correspond to the name of the task and obviously complete it.

Themes & Styles

Task panels are identified by their grey headers, and like regular Panels, contain a content area with a white background. The Footer bar, the same used in Dialogs, appear in the same theme as the panel as of Fiori 3, and no longer displays as a dark one.

Behaviors & Interactions

Panel Access

Task panels can be accessed from a variety of points, be it via in the Application toolbar or Tool Menu, buttons in other panels, or from any component that may trigger an action. Always ensure any icon and all labels used to trigger the panel matches the task's name in the panel's header. If triggering a Task panel from a menu, always use an ellipsis in the menu item.

Interact with the Footer toolbar to close the panel. If users refresh or navigate away from the page, the panel should be closed without completing the task. close a Task panel by clicking outside of it. Never complete the task by some other means than the finalizing button at the footer.

2
do
false
Match the icons and label on the panel header with whatever was the trigger point of the panel. The connection between trigger and task must be obvious and clear. Add ellipsis (...) to labels of triggers to suggest a new element will appear in the UI.
dont
false
Don't use icons or labels for Task panel triggers that don’t match the corresponding task panel’s header.

Placement

Like all Contextual side panels, Task panels slide in from the right side of the UI. If a Panel is already on display, the Task panel will overlay on top of that Panel and stay in position until the task is completed or terminated.

While the Task panel is active, the Panel beneath it should not be closed. Ideally, when the task is completed and the Task panel is dismissed, the Panel that was momentarily covered should be visible and prominent again.

Panel Expansion

Task panels expand into larger Dialog boxes. This expansion rule is different than Panels and Sub-panels because Task panels are normally selected as alternatives to Dialogs when the rest of the screen needs to be seen. But if the panel were to be extended, then the screen would not be seen, so use a Dialog.

To facilitate this transition, place a secondary action for expansion in the Footer toolbar in a standard or ghost style button. When the Dialog opens, the user can transition back to Panel, or complete the task in the Dialog and close both simultaneously.

Alternatively, Task panels may expand into a whole other screen, like an Objec t Page. Task panels should

Best Practices

Format tasks like a pro

The Task panel is optimized for tasks that needs to be performed in place. A task is a series of actions or steps taken to achieve a particular end. Good tasks need to be simultaneously recognizable to the expert user and guide a novice one through an unknown process intuitively. Any function can be considered a task whenever it is like one. How to format a task? See below.

The goal of the task should be reflected in both the task panel’s header and the finalizing action on the Footer toolbar. The name of the panel should be clear, simple, and use as few words as possible. Typically, this should be a verb (the main action to be performed) followed by a noun (the subject being acted on). Example: Create [ObjectName], Select Column, Filter Selection, Set Default Values, etc.

The finalizing action’s name should coincide with the task name on the panel’s header. For example, if the task name is , then the finalizing action could be .

Avoid making the task name too long, too generic, or too specific that it alienates users unfamiliar with the chosen name. Ensure the finalizing button in the footer is wide enough to at least match the Cancel button’s width — this is especially important if the finalizing action has a short string (like ') and it creates a small button.

Establish order and direction in a task by arranging contents so it has a clear beginning and a coherent sequence of steps to reach the end. The sequence should follow real-world conventions so users can leverage their business experience instead of relying on in-app training or tutorials. Consider what users need to know first so that they can make key decisions after.

Never open a Task panel with any field in an error state – any validation should be executed after the user’s input. If a field is required, consider marking its label with a red asterisk instead of showing it in an error state before the error has been committed.

No one wants to spend their time fiddling on side tasks, so consider how to help users get through them as fast as possible. Speed up the pace and effort of completing the task by employing any of the strategies below:

Avoid using defaults for high-stake decisions that require the user’s attention. Any high-stake decisions that could lead to a loss of data, an irreversible consequence, or result in an overwhelming flow of information (like signing up for email updates or notifications), should not have a default option.

Task panels are the only Contextual side panel with a Footer toolbar because that is a key piece of formatting a task. The Footer toolbar gives the user an option to finalize the task or to terminate it.

The finalizing action should be an emphasized button and coincide with the name of the task on the panel’s header. To terminate the task at any moment, click on the negative path action, typically the Cancel button. The task will also be terminated if the user refreshes or navigates out of the page without completing the task. Don't implement any additional forms of finalizing or cancelling a task than the ones described here.

Always ensure the buttons in the Footer toolbar are enabled. If the user cannot progress because something is amiss, it is far better to run validation and mark problems with an error state immediately after clicking the finalizing button, than to disable the button and prevent the user from clicking them.

When a task is completed, and only the finalizing action button is clicked, the task’s outcome should immediately take effect. If the outcome does not produce any visible change in the UI, use a toast notification at minimum to communicate whether the task has been completed successfully or not.

Strive to make the outcome of a task reversible, editable, or removable – users should always be able to reverse selections, delete objects, and change settings by opening the Task panel again or in some other way. Should the outcome of a task not be manageable in such a way, then consider whether it should be formatted like a task or if it should be incorporated into the main content area and its workflow instead.

guideline
Task FormattingFormatting a task is like making a sandwich: it needs to have a top and bottom and the inside needs to make sense together. The name of the task (inside the task panel's header) is the top, the steps that need to be completed are the filling, and the Footer toolbar provides the bottom. In the same way that a poorly constructed sandwich falls apart, so too will a task if its missing any of its key pieces. Delicious!

Specifications

<div> <div>Badge</div> <div>Component</div> <div>Specification</div> <div>Details</div> </div> <div> <div></div> <div></div> <div> <p>29rem</p> <p>2.5rem</p> <p>@sapUiBaseColor</p> <p>@sapUiShadowHeader</p> <p>* Modify border line to 0.125rem</p> </div> <div> <p>464px</p> <p>40px</p> <p>#FFFFFF</p> <ul> <li><em>Border:</em> X: 0, Y: -2, blur: 0, spread: 0, #D9D9D9, alpha: 100</li> <li><em>Shadow:</em> X: 0, Y: 0, blur: 4, spread: 0, #000000, alpha: 30</li> </ul> </div> </div> <div> <div></div> <div></div> <div> <p>1rem</p> <p>@sapUiContentNonInteractiveIconColor</p> <p>2 x 2rem</p> <p>0.25rem top / bottom</p> </div> <div> <p>16px</p> <p>#6A6D70</p> <p>32 x 32px</p> <p>4px top / bottom</p> </div> </div> <div> <div></div> <div></div> <div> <p>@sapUiFontHeaderFamily</p> <p>@sapUiFontHeaderWeight</p> <p>@sapMFontHeader5Size</p> <p>@sapUiGroupTitleTextColor</p> <p>2 rem</p> <p>0.25 rem top / bottom</p> <p>left-aligned</p> </div> <div> <p>72</p> <p>regular</p> <p>16pt</p> <p>#32363a</p> <p>32px</p> <p>4px top / bottom</p> <p>left-aligned</p> </div> </div> <div> <div></div> <div></div> <div>1rem</div> <div>16px</div> </div> <div> <div></div> <div></div> <div> <p>1.5rem</p> <p>* Only applicable if panel header contains no icon</p> </div> <div> <p>24px</p> <p>* Only applicable if panel header contains no icon</p> </div> </div>

<div> <div>Badge</div> <div>Component</div> <div>Specification</div> <div>Detail</div> </div> <div> <div></div> <div>* Contains panel header, body, and footer bar.</div> <div> <p>29rem</p> <p>@sapUiBaseColor</p> <p>@sapUiShadowLevel0</p> </div> <div> <p>464px</p> <p>#FFFFFF</p> <p>apply both layers:</p> <ul> <li><em>First layer:</em> X: 0, Y: 0, blur: 0, spread: 1 #000000, alpha: 10</li> <li><em>Second layer:</em> X: 0, Y: 2, blur: 8, spread: 0 #000000, alpha: 10</li> </ul> </div> </div> <div> <div></div> <div>* Content may be laid out in one and two columns within the same panel.</div> <div> <p>1rem</p> <p>0.5rem</p> <p>27.rem</p> <ul> <li><em>Column width:</em> 12.5rem</li> <li><em>Gutter:</em> 2rem</li> </ul> </div> <div> <p>16px</p> <p>8px</p> <p>432px</p> <ul> <li><em>Column width:</em> 200px</li> <li><em>Gutter:</em> 32px</li> </ul> </div> </div> <div> <div></div> <div>* Please see Fiori's <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Ffooter-toolbar%2F">Footer Bar</a> guidelines for more info.</div> <div> <p><strong>Width:</strong> 29rem</p> <p><strong>Height:</strong> 2.5rem</p> <p><strong>Bg colour:</strong> @sapUiBaseColor</p> <p><strong>Top border line:</strong> 1px, @sapUiGroupContentBorderColor</p> <p><strong>Buttons:</strong> sap.m.Button</p> </div> <div> <p>464px</p> <p>40px</p> <p>#FFFFFF</p> <p>1px, #D9D9D9</p> <ul> <li><em>Main action:</em><a href="https%3A%2F%2Fwiki.wdf.sap.corp%2Fwiki%2Fpages%2Fviewpage.action%3FpageId%3D2025039257%23Button(Fiori3)-PrimaryEmphasizedButton">Primary emphasized</a></li> <li><em>Cancel / dismiss:</em><a href="https%3A%2F%2Fwiki.wdf.sap.corp%2Fwiki%2Fpages%2Fviewpage.action%3FpageId%3D2025039257%23Button(Fiori3)-TertiaryTransparentHighlightButton">Tertiary transparent</a></li> <li><em>Additional buttons:</em><a href="https%3A%2F%2Fwiki.wdf.sap.corp%2Fwiki%2Fpages%2Fviewpage.action%3FpageId%3D2025039257%23Button(Fiori3)-SecondaryGhostButton(withnoBackground)">Secondary ghost button</a></li> </ul> </div> </div>