So far I have encountered web applications that use these shortcuts to send messages(posts, emails etc) without clicking the submit button:

  • ctrlEnter or cmdEnter
  • ShiftEnter
  • Just Enter

On the other hand these applications include a different shortcut for breaking lines, but still a similar combination of the above.

This inconsistency between commands, can easily lead a human sending a message instead of breaking a line. (yea I am one of them, twice)

So my core questions are:

  1. Is out there an established pattern for sending and breaking line shortcut?
  2. How can we boost memorability and establish an error prevention flow on sending messages by accident?

What is your preference, do you have any working examples or research on that topic?

1 Answer 1


As you point out, different apps use different conventions for CtrlEnter vs ShiftEnter for newline vs submit.

Some guidelines

  • Make shortcuts optional. If you offer keyboard shortcuts for newline vs submit, it's best to make them optional because they are not obvious features. For example, do not depend on CtrlEnter to submit: it's best to also add a separate Submit button.

  • Make it easy to undo a submit. If a user submits a comment accidentally because she hit CtrlEnter instead of ShiftEnter, it's important to have an easy way for the user to edit or delete the comment. Otherwise the UX can be very frustrating because the user feels trapped by the accident with no easy way to undo the action.

  • Ctrl to submit, Shift for newline. Although it's a loose convention, CtrlEnter is more often used to submit a form and ShiftEnter is more often used for newlines. This roughly follows the semantics of the Ctrl and Shift keys:

    • Ctrl or Cmd has historically been used to set off functions (e.g. CtrlS to save, CtrlC to copy)
    • Shift is typically used for formatting and text entry (capitalization, symbols, etc.)
    • ...since entering a newline is a form of text entry (it's literally entering a newline character into the text box) and submitting a form is a function, these actions are typically mapped to ShiftEnter and CtrlEnter shortcuts respectively.
  • Ensure consistent Enter key behavior

    • If a form has multiple widgets, then sometimes Enter will submit the form when the focus is on a widget (e.g. a radio button). So if Enter behaves differently in another widget (e.g. a textarea), then the inconsistent behavior can be confusing to users.
    • e.g. if CtrlEnter submits a form, then make sure it submits the form consistently irrespective of tab focus.
    • e.g. if Enter creates a newline inside one control, it can be confusing if it submits the form inside another control.

Hope that helps.

  • Nice insights, specially the use of shortcuts for functions and text format. Also undos are not bulletproof (email or instant message for example), but in many cases they can help (stackexchange does a nice job with edit on comments). By the way could you clarify why you mentioned that last bullet.
    – gpelelis
    May 23, 2015 at 14:23
  • @gpelelis ok i made some edits which might help clarify, thanks
    – tohster
    May 23, 2015 at 14:32
  • I fully understand that those are standards and nice usability practices, but interestingly facebook breaks those "rules". So for example when you write a post: you breakline with enter and post with ctl+enter. But on messenger: you breakline with shift+enter, and submit with enter (but also they have removed any submit button).
    – gpelelis
    May 23, 2015 at 14:46
  • Good observation. Facebook is perhaps not a great case to look at because: 1. They are notoriously inconsistent with their UX; and 2. FB is now actually a container app within which games, messenger, etc can run. So apps like messenger can have some freedom to break convention from the container app (FB tries to separate out messenger visually within the browser window in a grid-breaking way to help convey the sense that it's a different window/app from the underlying page)
    – tohster
    May 23, 2015 at 15:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.