Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Button: Difference between revisions

From MoodleDocs
Line 13: Line 13:
== Solution ==
== Solution ==
The label of a button should be a command verb: "Save Settings".
The label of a button should be a command verb: "Save Settings".
Actions which can modify the state of Moodle (data files, database, session information) should be performed through buttons.


Buttons should never be used for navigation. Instead, use [[Link|links]].
Buttons should never be used for navigation. Instead, use [[Link|links]].

Revision as of 13:40, 12 August 2009

Moodle User Interface Guidelines > Link

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.

This is a guideline for a Moodle Interface Guideline. Comments: developer forum thread


Problem

The user needs to be provided the choice to issue a command. This command may be to submit form data.

Forces: factors that affect selection

  • Links take up less screen real estate than buttons
  • Buttons should be preferred for (at least primary) commands
  • A button is like a promise to the user that something will happen: the state of the application will change when the button is clicked. Buttons should not be used for navigation since that fails user expectations. When there is a link users can expect it to make sense to open it in a new tab, for instance.

Solution

The label of a button should be a command verb: "Save Settings".

Actions which can modify the state of Moodle (data files, database, session information) should be performed through buttons.

Buttons should never be used for navigation. Instead, use links.

With buttons, the command is usually mediated to the server in form of a POST parameter. Pressing the back button results the browser asking if the user wants to resubmit the form. To avoid this and keep the back button functional, redirect (using HTTP headers) the resulting page, to a new page after processing the data the browser sent.

Related guidelines

Related issues in the tracker

  • TODO: The course groups management UI uses buttons for navigation within the UI

Further information / Sources