Usability testing Drupal's comment form: findings and how to fix it's problems

Last updated on Thu, 2010-05-20 17:28. Originally submitted by fabio on 2010-05-13 14:06.

I'm working on a Drupal 6 based website. One of the goals of this website is to be very usable. That's why a couple of weeks ago we run a detailed usability test on the website.

We had 5 users using the website by proposing them 3 different scenarios and some tasks on those scenarios. I plan to write a more detailed post on how we tested that website in next days, so keep an eye on my website if you are interested.

The website we tested is a photographer portfolio which contains also a blog. So, one of the tasks proposed to our users was adding a comment on a blog node. This could seems like a super easy task but our users were pretty confused by standard Drupal labels and messages of Drupal's comment form.

Findings

The default Drupal form for adding comments to nodes (Drupal name's for blog posts, stories, etc.) looks like the following:

Drupal comment form

The form does looks like a regular and simple comment form. Unfortunately our users were pretty confused by it.

NOTE: we tested an Italian Drupal website with Italian users. Some of the findings below might be a consequence of the translation or different habits of Italian users. Anyway, I doubt and I would take the findings as globally relevant.

Homepage

This is the field used to insert an URL to the user personal website. Unfortunately Homepage is a pretty confusing name for indicating it. Most of our users didn't know what Homepage actually asked to insert. Some of them asked for help to me or inserted random stuff in the field.

Subject

This other field is used to insert a title to the comment. The label Subject was confusing for our users. Drupal developers here assumes an analogy between emails subject and comments. Unfortunately this analogy doesn't holds for our users and they were pretty confused by this field. Some of them even though that they needed to copy and paste the node title here (they are imagining that if they don't the comment won't be associated to the node).

The video below shows one of our users struggling with Drupal form's Subject field.

Save

The save button at the bottom of the form is used to send the comment to the webpage. Most of our users had problems undestanding that this button is the one they need to click in order to send the comment to the website. They somehow associated it to something like Save as Draft or Save for later.

Homepage Error Message

When an user insert a wrong URL on the Homepage field the following message is reported by Drupal:
The URL of your homepage is not valid. Remember that it must be fully qualified, i.e. of the form http://example.com/directory.

From a strictly technical point of view this message is pretty perfect: it exactly says what went wrong and how to fix it. Unfortunately none of the tested user were able to understand what an URL actually is and what fully qualified means. I should say that this message pretty confused our users.

Required fields

As final note I would like to add that we found out that most of our users didn't understand that some of the fields were required and some weren't. They simply didn't notice the red * near the required fields or, if they did, they didn't know what it means. This resulted in the users inserting stuff in all of the fields even if they didn't need or want to (eg if they didn't have a personal website/homepage).

This is not a big problem for this little form but this could became a big problem if lot of non required fields are used on critical forms like on registrations or ecommerce checkouts. Users that don't get that they can skip some or most of the non required fields could easily get bored inserting data and leave the registration form or (worst) the ecommerce checkout form.

Making Comment Form Usable

After carefully reviewing the usability sessions videos and thinking about some solutions we did the following changes to the comment form.

  • the Homepage label became Your Personal Website
  • we added a field description to the homepage field: If you own a personal website insert its address in the form http://www.example.com/.
  • we changed the Subject label to Comment Title
  • we changed Save into Send
  • changed the Homepage error message into: The address of your homepage is not valid. Remember that it must be in the form http://example.com/directory.

Subsequent user testing rounds showed that our changes were pretty successful. Most of the next testing showed no issues in submitting the comments.

We did not take action in modifying the way Drupal marks required fields. That would need investigation though.

Fixing your Drupal Website now

Using Drupal's powerful APIs we were able to implement the above changes into an hook_form_alter implementation:

function fabio_helper_form_alter(&$form, $form_state, $form_id) {
  switch ($form_id) {
    case 'comment_form':
        //print_r($form);
        if($form['homepage']) {
          $form['homepage']['#title'] = t('Il tuo sito personale');
          $form['homepage']['#description'] = t('Se possiedi un tuo sito personale inserisci l\'indirizzo in forma http://www.example.com/ .');
        }
        if($form['subject']) {
          $form['subject']['#title'] = t('Titolo commento');
        }
        if($form['submit']) {
          $form['submit']['#value'] = t('Invia');
        }
      break;
  }
}

You can easily use the above function creating a custom made module. Feel free to add a comment to this page if you need assistance in doing this.

For changing the Homepage error message we modified the translation of that string. If you don't use any localization on your Drupal install you need to hack Drupal code or using String Overrides.

If you choose to hack Drupal, see function comment_form_validate() in comment.module. Look for

          form_set_error('homepage', t('The URL of your homepage is not valid. Remember that it must be fully qualified, i.e. of the form <code>http://example.com/directory</code>..'));

and change it to something more easier.

Improving Upcoming Drupal 7

Drupal 7 is currently in alpha state so it still possible to suggest improvements in its usability. That's why, based on our testing experience and findings, I opened a bug report on changing the Homepage error message and I added some more informations on an already existing bug report suggesting to improve the Homepage field and Comment form in general.

If you think that this usability problems are quite critical you should definitely comment on those issues and help pushing the proposed changes into the upcoming Drupal 7.

Conclusions

This experience shows how something which shuold be simple and trouble free like commenting on a blog post can be painful for users. It suggest that even the most simple tasks can be non obvious for users if the language, process or implementation in general is broken from the UX point of view.

But mostly it shows how usability testing is crucial to improve the user experience and happyness.

Any other suggestion? Feel free to add a comment below (yes, the comment form below is still usability broken ;-) ). Yep, it is now usability friendly!

Posted in:

Good post indeed! I believe

Submitted by itransition software programming (not verified) on Wed, 2011-11-16 18:22.

Good post indeed! I believe that the regard of cms is growing day by day. Utilize drupal for CMS is a huge choice.

admin edit: sorry, only links to personal/non-profit webpages are allowed.

Nicely said

Submitted by Drupal Developers (not verified) on Wed, 2011-08-24 12:38.

But this appears to be a language issue rather than a Drupal one. This can happen with any form with the same nomenclature.

admin edit: sorry, only links to personal webpages are accepted.

Good to read, I appreciate

Submitted by Drupal Experts (not verified) on Thu, 2011-06-09 14:02.

Good to read, I appreciate it. Thanks a lot pal!

drupal design

Submitted by benivolent (not verified) on Tue, 2011-01-18 07:28.

This is really a fine post and I believe that the regard of cms is growing day by day. utilize drupal for CMS is a huge choice.

Nice article, how do you

Submitted by Anonymous (not verified) on Tue, 2010-08-24 08:02.

Nice article, how do you control the page, that is shown when a comment is submitted.

I'm not aware of a built in

Submitted by fabio on Tue, 2010-08-24 08:12.

I'm not aware of a built in Drupal core way of controlling which page is displayed after a comment submission. Personally I consider the article page the correct one to be displayed.

Anyway you might search for a module which let you override comment form submission redirect: maybe there is something though I never used nor found anything like that.

It should be possible though to implement a module to do so. If this is the path you want to follow document yourself on drupal form api expecially on the #redirect form attribute. The above mixed with hook_form_alter should let you implement a module which let you change comment submission landing page.

Hope this helps, feel free to add another comment if you need more help.

Very informative

Submitted by NV (not verified) on Wed, 2010-07-21 05:44.

I wish all the sites were chacked in this way.

Great

Submitted by Micheal James (not verified) on Tue, 2010-06-08 12:53.

Thanks for the great information.

admin edit: sorry, I don't tolerate spammy links on comments. Only links relevant to comment content. Thanks.

For required fields you can

Submitted by Anonymous (not verified) on Fri, 2010-05-14 19:37.

For required fields you can use the CSS3 "content" property, ex:

.form-required:after {
content: "Required";
color: red;
}

This degrades gracefully in browsers that don't support CSS3, but will help identify required fields for people using newer browsers. For more info on this, see http://www.w3.org/TR/css3-content/#inserting

Also on CSS 2

Submitted by fabio on Wed, 2010-05-19 23:39.

The :after selector is actually available also on CSS2.

Unfortunately it isn't supported by IE7 and lower.

Nice, this confirms what I've

Submitted by Anonymous (not verified) on Fri, 2010-05-14 18:10.

Nice, this confirms what I've been saying for years now. Great to see some actual data about it.

One thing:
"If you don't use any localization on your Drupal install you need to hack Drupal code."

This isn't true. You can use the String Overrides module to change it without hacking core.

Thanks for pointing this out!

Submitted by fabio on Fri, 2010-05-14 19:26.

Thanks for pointing this out! I'll add that to the blog post!

@Wim @Tom: Actually, as you

Submitted by fabio on Fri, 2010-05-14 09:48.

@Wim @Tom: Actually, as you can see from the video above, we hided the input format text. We thought that it could be confusing and hided in the pre-testing phase. We just left a link to the input formatting help page.

@Wim: I'm not at all

Submitted by Tom (not verified) on Fri, 2010-05-14 09:34.

@Wim: I'm not at all surprised that there was no problem with the Input Format text; I think it's fairly clear that it's help text and people tend to ignore help text. It actually wouldn't surprise me if, if asked afterwards, they didn't remember seeing it at all.

I find it odd that these

Submitted by Wim Mostrey (not verified) on Fri, 2010-05-14 09:04.

I find it odd that these testers are confused about fields like 'homepage' and 'subject' but that they are not confused/scared about the large input format text, which takes up about half of the comment form.

Indeed; what does a comment

Submitted by Domenic Santangelo (not verified) on Fri, 2010-05-14 18:12.

Indeed; what does a comment form need a "Subject" field for anyway? It's a comment, not an email.

Titles to comments become headings in the page

Submitted by Cliff (not verified) on Wed, 2010-05-19 18:48.

@Domenic, the title to each comment becomes a heading in the page. Especially if you add a clear title to your comment, and don't just let the first few words get copied there, these headings make it easier for people who are blind to skim the comments for ones that are of interest to them.

People who are blind use software that reads the screen to them. It can recognize properly coded headings and, with a simple key command, will start reading just the headings on the page. Using the down arrow key, you can keep listening to the headings until you hear one that interests you. Then you can hit "Return" to go straight to that heading.

Also useful for normal users

Submitted by fabio on Wed, 2010-05-19 23:33.

Good point Cliff. I would also add that comment title are actually also useful for normal users. Titles can be good for skipping a comment that is not really interesting for the user.

Anyway, just have a look a the comments on this page.. you'll see that only few users use the title to explain what they'll say in the comment.

Website (if any) + mandatory

Submitted by David Latapie (not verified) on Thu, 2010-05-13 19:10.

Website (if any) should care for people who don't have have a website (most may consider their Facebook profile to not be a website).
(mandatory) near mandatory fields - if a lot of fields are mandatory, it will give a feeling of oppression, though.

Post new comment

The content of this field is kept private and will not be shown publicly.
If you have a personal or company website insert its address in the form http://www.example.com/ .
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <del> <img> <h2> <h3> <h4> <b> <video> <sub> <sup>
  • Lines and paragraphs break automatically.
  • Images can be added to this post.
  • You may use [inline:xx] tags to display uploaded files or images inline.
  • You may insert videos with [video:URL]
  • Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.

More information about formatting options