Last updated October 26, 2015. Created on August 11, 2014.
Edited by othermachines, devarchivist, kaare. Log in to edit this page.

A common problem with field types that takes up a lot of screen estate is that the help text disappears at the bottom and users won't notice it. The most obvious example of this is a text field with input format with more than 20 rows. Another example is a multi-value field with many added values. In cases like these, developers might want to make the help text more visible by moving it above the input element.

There are several solutions to this, and these can be grouped in two main types:

  • Solutions that move the field's existing help text from below to above the input area.
  • Solutions that add a new text setting which are put between the label and the input area

There is a third kind of solution which involves using JavaScript to manipulate the DOM, but this is considered a hack and is not included here.

Solutions using the existing field help text

These solutions will use the existing field help text and move it around in various ways.

  • Override theme_webform_element in your theme's template.php file. More info: Overriding themable output.
  • Form element layout. This lets you configure the position of the field's existing help text on a per field basis to be before or after the input element. It defaults to standard/core behavior. Developers can override the position in any form using the #description_display attribute.
  • Top Description. A minimalist sandbox module that will unconditionally move all form descriptions above the input element. Minimally maintained and maintenance fixes only.

Solutions with a new help text

These are modules that will add a new text setting for the field and inject it between the label and otherwise ignore the existing help text.

  • Label Help. Does not modify existing help text and this can be used as an additional help text.
  • Extra Field Description. Behaves exactly like Label Help, but it seems to be less maintained.
  • Better field descriptions. Like the two options above, it creates an additional field setting for the additional help text. However, this module extracts the configuration to a separate admin page with its own permission, thereby making it possible for users without the Administer site configurationpermission to edit the additional field help texts.

Looking for support? Visit the forums, or join #drupal-support in IRC.


Atomox’s picture

This is a great article, but advanced uses should advised: I've been working with a site using several modules, including field collections, text formats, the WYSIWYG Module, Field Groups, etc.

None of the modules listed above work in all cases. As noted in the Label Help Module, any fields which attempt to modify the existing field description tend not to support all field types and widgets. The Label Help module doesn't support any Field Collections, while the Extra Field Description Module flat out broke labels for existing checkbox and radio buttons.

These all offer a great service, but I wouldn't describe any of them as feature-complete for anything beyond the basic use-case. Try before you buy, and let's hope that one of these modules finds the finish line. I think Label Help is the closest, and has some patches in-progress for the Field Collection Issue, as well as handling non-node entities.

After some further digging, the Form Element Layout module is working for most of my use-cases, including field collections, text format fields (WYSIWYG included), although has troubles with some widget types. You have to enable it per-field, but it does some fancy reordering of widget elements in order to display descriptions in the right place. This looks like the most robust module for the job, although beware if you are using less-frequented modules.