22. May 2008 12:17 by Janko in Articles | tags:

Can you believe this: Few days ago I went to my bank to check my credit score with the Credit Bureau. The bank official typed in my personal data and sent a request. Web application responded by displaying a yellow message box with an exclamation icon saying that data processing is still in progress. He checked several more times, but he didn't notice that at one moment the message changed to "Account available". But the message box hasn't changed. He continued to check a few more times and eventually he realized that the request was successful.

I don't know what was in the minds of developers and designers who created this application, but it certainly wasn't the user. This poor bank official was really frustrated. I can't imagine what the rest of the application looks like.

To prevent this, different message types should be displayed differently. My opinion is that every web application should handle four main message types: information, successful operation, warning and error. Each message type should be presented in a different color and different icon. A special message type represents validation messages.

I will show you a remake of CSS message boxes I used on my latest project. I changed them slightly just to make them simpler for this example. In next article, you will see how to create ASP.NET user control that can support different message types and how to style it using CSS. You will also see how to style ValidationSummary in a similar way.

Let's first take a quick look at message types.

1. Information messages

The purpose of information messages is to inform the user about something relevant. This should be presented in blue because people associate this color with information, regardless of content. This could be any information relevant to a user action.

 error_04

For example, info message can show some help information regarding current user action or some tips.

2. Success messages

Success messages should be displayed after user successfully performs an operation. By that I mean a complete operation - no partial operations and no errors. For example, the message can say: "Your profile has been saved successfully and confirmation mail has been sent to the email address you provided". This means that each operation in this process (saving profile and sending email) has been successfully performed.

error_03  

I am aware that many developers consider this as an information message type, but I prefer to show this message type using it's own colors and icons - a green with a checkmark icon.

3. Warning messages

Warning messages should be displayed to a user when an operation couldn't be completed in a whole. For example "Your profile has been saved successfully, but confirmation mail could not be sent to the email address you provided.". Or "If you don't finish your profile now you won't be able to search jobs". Usual warning color is yellow and icon exclamation.

error_05

4. Error messages

Error messages should be displayed when an operation couldn't be completed at all. For example, "Your profile couldn't be saved." Red is very suitable for this since people associate this color with an alert of any kind.

error_01 

Design process

Now when we know the way to present messages to users, let's see how to implement a it using CSS. Let's take a quick look at the design process.

I will keep this as simple as I can. The goal is to have a single div that implements a single CSS class. So the HTML markup will look like this:

        <div class="info">Info message</div>
<div class="success">Successful operation message</div>
<div class="warning">Warning message</div>
<div class="error">Error message</div>

CSS class will add a background image to the div that will be positioned top-left. It will also create a padding inside the div so that text can have enough white space around it. Note that left padding has to be wider to prevent text overlapping with the background image.

error_07 

And here are the CSS classes for all four (five with validation) different message types:

body{
font-family:Arial, Helvetica, sans-serif; 
font-size:13px;
}
.info, .success, .warning, .error, .validation {
border: 1px solid;
margin: 10px 0px;
padding:15px 10px 15px 50px;
background-repeat: no-repeat;
background-position: 10px center;
}
.info {
color: #00529B;
background-color: #BDE5F8;
background-image: url('info.png');
}
.success {
color: #4F8A10;
background-color: #DFF2BF;
background-image:url('success.png');
}
.warning {
color: #9F6000;
background-color: #FEEFB3;
background-image: url('warning.png');
}
.error {
color: #D8000C;
background-color: #FFBABA;
background-image: url('error.png');
}

Note: Icons used in this example are from Knob Toolbar icons collection.

Validation messages

I noticed that many developers can't distinguish between validation and other message types (such as error or warning messages). I saw many times that validation message is displayed as error message and caused confusion in the user's mind.

Validation is all about user input and should be treated that way. ASP.NET has built in controls that enable full control over user input. The purpose of validation is to force a user to enter all required fields or to enter fields in the correct format. Therefore, it should be clear that the form will not be submitted if these rules aren't matched. That's why I like to style validation messages in a slightly less intensive red than error messages and use a red exclamation icon.

error_09

CSS class for validation message is almost identical to others (note that in some attributes are defined in previous code sample):

.validation {
color: #D63301;
background-color: #FFCCBA;
background-image: url('validation.png');
}

Conclusion

Messages are an important part of the user experience that is often omitted. There are many articles that show nicely styled message boxes but it is not just a matter of design. It should provide a user with meaningful information, semantically and visually.

There are two other articles I would like to recommend you:

In my next article I will show you how to create ASP.NET user control that can wrap all of these message types and present it to a user. You will also see how to apply this style to a ValidationSummary control.

If you liked this article why don't you share it:

Stumble it delicious Digg it Float it DZone it Kick it Bump it E-mail

Comments

Pingbacks and trackbacks

  1. Trackback from DotNetKicks.com CSS Message Boxes for different message types
  2. Pingback from estetica-design-forum.com Css Warning Boxes - Graphic Design Forum and Web Design Forum
  3. Pingback from codigogeek.com Aplicar Css a diferentes cajas de mensajes | Codigo Geek
  4. Pingback from funnyxd.com links for 2008-05-23 | Funny Stuff is all around
  5. Trackback from idea*idea ウェブサービスに使えるメッセージボックスのCSSスタイル4種
  6. Pingback from gulp.com.br Caixa de mensagens em CSS — Gulp - Desenvolvimento e diversão (youtube, orkut bloqueado, revistas gratis, camera escondida, sites bloqueados, ilusão de ótica …)
  7. Trackback from codebeater CSS Message Boxes for different message types
  8. Trackback from 気ままなWeb屋のBlog ウェブサービスに使えるメッセージボックス
  9. Pingback from uberbloggerz.com Cajas de error con código CSS | Uberbloggerz
  10. Pingback from toonz.wordpress.com links for 2008-05-23 « toonz
  11. Pingback from marcus.ahnve.net Head On » Blog Archive » links for 2008-05-24
  12. Pingback from james.a.arconati.net links for 2008-05-24 at James A. Arconati
  13. Pingback from ocean.qee.jp Re:design » Blog Archive » メッセージボックスのCSSデザインサンプル
  14. Pingback from fatihhayrioglu.com Fatih HayrioÄŸlu'nun not defteri » 26 Mayıs 2008 web’den seçme haberler » düzenlenmiÅŸ, BaÄŸlantı, arasında, farklılıklar, kutuları, hazırlamak, jQuery, yapılmış, güzel, aralığı
  15. Pingback from code-inside.de Wöchentliche Rundablage: ASP.NET MVC, Silverlight 2, C#, Entity Framework, WPF, Javascript | Code-Inside Blog
  16. Pingback from adrian.otero.ws AOWS » Captcha al estilo iPhone
  17. Pingback from programatik.wordpress.com Caixa de Mensagem CSS « namespace Programatik
  18. Pingback from diariothc.com diarioTHC | Creando cajas de mensajes en CSS
  19. Pingback from cosassencillas.com Creando cajas de mensajes en CSS » Cosas sencillas
  20. Pingback from jacky.seezone.net 20080530 網摘 - 以言入罪 - 網絡暴民 Jacky’s Blog
  21. Pingback from copula.wordpress.com links for 2008-05-30 « copula’s weblog
  22. Trackback from Janko At Warp Speed Exception handling best practices in ASP.NET web applications
  23. Pingback from jf.eti.br   Caixas de mensagens em CSS by Thunder-Boy
  24. Pingback from macnative.com Css Message Boxes | MacNative
  25. Trackback from Bloodyflux.com A Couple Must Read ASP.NET Articles
  26. Pingback from tdotcom.net TDotCom » Blog Archive » a stumbling gem
  27. Pingback from sidhudesigner.blog.co.in CSS tirks
  28. Pingback from isopixel.net Cajas en CSS para diferentes tipos de mensajes | Isopixel
  29. Pingback from intelisen.com Bitácora de Intelisen » Cajas informativas con CSS
  30. Pingback from mathamlin.com MatHamlin.com » Blog Archive » links for 2008-07-19
  31. Pingback from blog.bigbentobox.com BigBentoBox Blog » great css code for error messages
  32. Pingback from blog.trpgsearch.net プレイヤマップ開発日誌 » Blog Archive » 引き続きデザイン修正
  33. Pingback from csscircle.wordpress.com Usefull CSS « My Weblog
  34. Trackback from heeha.ws::blog CSSで出来るもん(JavaScript無しでも色々出来る子
  35. Pingback from techtoolblog.com Daily Find #93 | TechToolBlog
  36. Pingback from mattiasgeniar.be 6 Hints To Pimp Your Forms With Fancy CSS | All your blog are belong to us
  37. Trackback from Bill Beckelman More jQuery Alert Dialogs Demo
  38. Pingback from phpsnip.info CSS Message Box - PHP / CSS / HTML / JavaScript Snippets

Add comment

   
        Country flag
biuquote
Loading