<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Monday By Noon &#187; validation</title>
	<atom:link href="http://mondaybynoon.com/tag/validation/feed/" rel="self" type="application/rss+xml" />
	<link>http://mondaybynoon.com</link>
	<description>A resource for Web designers and developers to read about and discuss their craft.</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:49:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>holmes.css &#8211; CSS Markup Detective</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20110427%2Fholmes-css-css-markup-detective%2F&#038;seed_title=holmes.css+%26%238211%3B+CSS+Markup+Detective</link>
		<comments>http://mondaybynoon.com/20110427/holmes-css-css-markup-detective/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 15:13:16 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Holmes]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=1628</guid>
		<description><![CDATA[holmes.css &#8211; CSS Markup Detective. This is neat. Holmes is The CSS Markup Detective: Holmes is stand-alone diagnostic CSS stylesheet that can highlight potentially invalid, inaccessible or erroneous HTML(5) markup by adding one class. I like this because it&#8217;s in a way passive, but really useful. When I was really getting into Web Standards, I [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1628&c=1284879807' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1628&c=1284879807' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.red-root.com/sandbox/holmes/">holmes.css &#8211; CSS Markup Detective</a>.</p>
<p>This is neat. Holmes is The CSS Markup Detective:</p>
<blockquote><p>Holmes is stand-alone diagnostic CSS stylesheet that can highlight potentially invalid, inaccessible or erroneous HTML(5) markup by adding one class.</p></blockquote>
<p>I like this because it&#8217;s in a way passive, but really useful. When I was really getting into Web Standards, I had a number of Firefox Add-ons that would light up, blink, and cause a bit of chaos when things were invalid or errors were present. I&#8217;ve outgrown that to an extent, but I like the <a href="http://www.red-root.com/sandbox/holmes/testsuite/testsuite.html">idea of this</a>. I&#8217;ll be keeping an eye on it, <strong>keeping yourself in check is <em>still</em> important</strong>.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1628&c=712536515' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=1628&c=712536515' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20110427/holmes-css-css-markup-detective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8226; Form Design Blunders and Faux Pas on the Web</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20080714%2Fform-design-blunders-and-faux-pas-on-the-web%2F&#038;seed_title=%26%238226%3B+Form+Design+Blunders+and+Faux+Pas+on+the+Web</link>
		<comments>http://mondaybynoon.com/20080714/form-design-blunders-and-faux-pas-on-the-web/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 12:26:22 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=141</guid>
		<description><![CDATA[Form design on the Web is an art. There are, however, a number of things which can result in a frustrating experience when interacting with forms. <br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=141&c=189672304' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=141&c=189672304' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re filling out more forms than ever in our day to day activities. Whether it be sending an update to your favorite social network, a new social network you&#8217;re signing up for, or even sending a message to someone you haven&#8217;t spoken to in 10 years on a social network; forms are being used a lot. All kidding aside, the Web has evolved into a much more participatory environment, and with that come design considerations which may someday result in best practices.</p>
<p>Forms have been viewed as an area of Web design which has much room to improve. From the markup itself to general design guidelines, there are some trends which have evolved surrounding their implementation. Forms may be something you view as a smaller aspect of your overall design, but I&#8217;ve got to be honest when I say that seeing a well designed form is not something I often come across. When I do see a form which has been very well implemented, I try to take some notes to keep in mind for future projects. It&#8217;s difficult for me to express in words what it is that impresses me about well designed forms, but it&#8217;s quite a different story for me to jot down a few things which I find irritating.</p>
<h2>Poor choices for field defaults</h2>
<p>Providing a field default is, in my opinion, usually something that should be avoided. There are certain circumstances where it&#8217;s a necessity, such as using the input itself to reflect what would otherwise be represented by a <code>label</code>. Including a default <code>input</code> <code>value</code> is a significant annoyance if not implemented properly. Always keep in mind that if you are going to provide a field default, make sure you add it with progressive enhancement in mind. I say that because more important is <em>making sure your default is cleared out upon <code>input</code> focus</em>. I can&#8217;t count the times I&#8217;ve gone to enter data in a field with a default value and ended up typing within the default string itself. It&#8217;s a show-stopping event.</p>
<p>Field defaults are in no way limited to text <code>inputs</code> or <code>textareas</code>. A peeve of mine which has developed over the past few months is finding a default entry in a <code>select</code>. For example, stumbling across a form which has a <code>select</code> for the state in which I live. This particular <code>select</code> has a default value of &#8220;(Choose One)&#8221;. Why? The widget itself is designed visually to communicate that there are a number of values to choose from. A <code>select</code> is not an uncommon interaction with a form, why is it necessary? If nothing else, it requires you to apply otherwise unneeded validation on the element. I can possibly understand that it may be used as a method for ensuring the reader has taken the time to choose a value from the <code>select</code>, but to me that&#8217;s a stretch. What&#8217;s worse is seeing &#8220;(Choose One)&#8221; as the default entry with &#8220;Other&#8221; or &#8220;No answer&#8221; as the bottom choice. For <code>selects</code> without required data, why not make &#8220;No answer&#8221; the default?</p>
<p>At the end of the day, if the <code>select</code> is required data, you&#8217;re creating extra work for all parties involved by trying to hook an answer with &#8220;(Please Choose)&#8221;. From the start, you&#8217;re going to need to validate that field. Continuing, if a reader is maliciously trying to submit bunk data, when notified of the required field, an entry will simply be chosen at random, which now looks like a more legitimate answer than &#8220;Other&#8221;.</p>
<p>Another issue I&#8217;d like to bring up with <code>form</code> defaults is one that has to do with <code>radio</code> buttons. Interaction here is very similar to that of <code>selects</code> but in this case, my annoyance happens to be an absence of a default value. The purpose of a series of <code>radio</code> buttons is to have a reader choose one of the available choices. Why leave this section of your form without a default?</p>
<h2>Validation issues</h2>
<p>Form validation is an art form. There are some really fantastic ways to validate forms which not only benefits your server, but also the user experience as well. With the widespread arrival of unobtrusive JavaScript, form validation on the client side has been improved exponentially, but there are still some pitfalls which can result in a very frustrating process for your readers.</p>
<p>Most importantly is being upfront about what data is required when filling out your form. On top of that, you should provide relevant information regarding any syntax required for entering data. Information such as phone numbers, credit card numbers, and dates come to mind. Readers are likely to follow instructions on formatting, and be much happier doing so as opposed to seeing they entered a date wrong because you failed to provide syntax.</p>
<p>A <em>huge peeve</em> of mine when it comes to form validation can only stem from laziness on the part of the developer. It doesn&#8217;t take much to check whether each field was populated already on a page load, so be sure to include the submitted data as a &#8216;default&#8217; <code>value</code> when exercising validation. There&#8217;s nothing worse than taking time to fill out a form only to have the page reload saying I forgot a digit in my phone number, but the rest of my data is missing.</p>
<p>Finally, on the side of form validation, make sure your error notice copy is up to snuff. Ensure the notice is contextual and you&#8217;re not taking the easy way out by dumping the errors at the top of the page, leaving the reader to hunt for information to correct. Make sure each error description is accurate and easy to interpret. If a credit card number was entered incorrectly, do more than classify the data as &#8220;invalid&#8221;. Explain, using syntax if applicable, why the entry does not validate.</p>
<h3>Avoiding general frustrations</h3>
<p>There are number of other issues to consider when designing <code>forms</code>. Something I continue to run into time after time is the classic case of recursive <code>selects</code>. I will <a href="/2007/10/01/selects-javascript-and-usability-please-help/">despise this implementation</a> until the end of time. I can understand that it may be a way to de-clutter the <abbr title="User interface">UI</abbr> a bit, but at a serious cost to usability.</p>
<p>Another frustration that often surfaces is poor use of <code>tabindex</code>. Browsers are quite good at figuring out a logical order for <code>tabindex</code> if the developer hasn&#8217;t implemented one, but they&#8217;re not perfect. There are many (high profile) websites with terrible implementations of <code>tabindex</code>, dragging readers here &amp; there in a very disorienting manner. Issues with <code>form</code> jumping can be easily avoided with a quick <a href="/2006/10/09/helping-your-user-with-tabindex/">implementation of a logical <code>tabindex</code></a>.</p>
<p>I know I&#8217;m not alone when I say I&#8217;ve got a few annoyances when interacting with forms on a daily basis. What is it that truly bothers you about poor <code>form</code> design? What tricks do you have up your sleeve which have worked out really well in practice?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=141&c=990853947' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=141&c=990853947' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20080714/form-design-blunders-and-faux-pas-on-the-web/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>&#8226; Validation Zealotry and Markup Exploitation</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20080225%2Fvalidation-zealotry-and-markup-exploitation%2F&#038;seed_title=%26%238226%3B+Validation+Zealotry+and+Markup+Exploitation</link>
		<comments>http://mondaybynoon.com/20080225/validation-zealotry-and-markup-exploitation/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 14:32:56 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[lists]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[tables]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/2008/02/25/validation-zealotry-and-markup-exploitation/</guid>
		<description><![CDATA[There were a couple of posts published within the past week which struck me as quite interesting. The first, published by Jeff Croft is an opinion piece regarding standardistas who feel the need to denounce invalid markup as an inferior product. The next, by Mike Cherim is based upon his fear that a listitis plague may be upon us.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=123&c=409793682' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=123&c=409793682' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>There were a couple of posts published within the past week which struck me as quite interesting. The first, published by <a href="http://jeffcroft.com">Jeff Croft</a> is an opinion piece regarding <a href="http://en.wikipedia.org/wiki/Standardista">standardistas</a> who feel the need to denounce invalid markup as an inferior product. The next, by <a href="http://green-beast.com">Mike Cherim</a> is based upon his fear that a listitis plague may be upon us.</p>
<h2>Validation zealots</h2>
<p>I&#8217;ve written my fair share on markup validation, and I do think it&#8217;s important to <a href="/2006/04/03/but-it-validates/">validate your code</a>. I&#8217;d like to be explicit in saying that when I speak of my <abbr title="Obsessive Compulsive Disorder">OCD</abbr> only stretches to my own work. There is an abundance of invalid code sprawled across the Internet.</p>
<p>Jeff Croft recently wrote <a href="http://jeffcroft.com/blog/2008/feb/24/your-markup-validator/">Your Markup Validator</a>, an article focused on this exact issue. He&#8217;s got a few choice words for those who feel obliged to publicly note the &#8216;inferiority&#8217; of invalid code. While I&#8217;ve <a href="/2006/06/05/keeping-everything-tidy/">incorporated validation</a> into my workflow, that&#8217;s as far as it goes. Reflecting on my past work in Web development, including an initial learning phase, I don&#8217;t believe I&#8217;ve ever tried to validate the markup of a document I didn&#8217;t create (save for glancing at the <a href="http://users.skynet.be/mgueury/mozilla/">HTML Validator Firefox extension</a>).</p>
<p>I simply don&#8217;t see a need for validating the work of others. I&#8217;m not sure why anyone would take the time to do such a thing, let alone bring it up in any type of public fashion. The important thing is to realize the benefit of validation for yourself, and the impact invalid markup has on a document. When you&#8217;ve gained this knowledge, you&#8217;ll compensate your workflow to make any adjustments necessary. Public mockery of invalid markup is unacceptable.</p>
<p>As <a href="http://jeffcroft.com/blog/2008/feb/24/your-markup-validator/">Jeff states</a>, validators are debugging tools used to help you better your markup as you see fit. Validators are not a scale to live up to, and they&#8217;re certainly not a scale to measure the work of someone else.</p>
<h2>A successor to divitis?</h2>
<p>In an interesting observatory post by Mike Cherim, some <a href="http://green-beast.com/blog/?p=259">abuse of list elements</a> is exposed. Mike took the time to analyze some specific recurring examples of list misuse and after reading the piece, I had to admit that I&#8217;ve noticed a similar trend. While it may appear that I&#8217;m contradicting my stance on validation zealotry noted above, like Mike, unless directed at myself, I don&#8217;t go around calling people out on something I may feel is an oversight. Mike fears that lists are becoming the new <code>tables</code> and we may be facing a mutation of <a href="http://csscreator.com/divitis">divitis</a>.</p>
<p>Continuing, Mike&#8217;s first example of list abuse is associated with <code>forms</code>. Using lists to structure a <code>form</code> has been a long-standing discussion among many developers. I&#8217;ve never used a list to mark up a <code>form</code>, as I don&#8217;t see data entry in this way as something that fits within a list. I feel you&#8217;re marking up a <code>form</code> and you&#8217;ve got a number of elements to work with. Using <code>fieldsets</code> &amp; <code>legends</code> alone give your form some semantic structure, and incorporating some choice separation elements (such as a <code>div</code> or two) can produce great result. As <a href="http://green-beast.com/blog/?p=259#comment-24181">raised in the comments</a> there could be some circumstances where a list may be applicable <em>within</em> a particular <code>form</code>, but I agree with Mike in that a list shouldn&#8217;t be a structural foundation.</p>
<blockquote cite="http://green-beast.com/blog/?p=259"><p>Misusing specific elements in a way not intended, especially for presentational purposes, while creative and admirable on many levels, simply isn&#8217;t right.</p>
<p>- Mike Cherim</p>
</blockquote>
<p>Mike continues by exposing more <a href="http://green-beast.com/blog/?p=259">circumstances in which lists are becoming increasingly abused</a>, each with a bit of opinion regarding why it can be looked at as misuse. I was glad to see that Mike and I share an opinion surrounding <a href="/2006/07/24/calendar-semantics-table-or-list/">effective calendar markup</a>. I&#8217;d like to suggest that you take a few minutes to read Mike&#8217;s piece and check out the comments for a bit of back-and-forth.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=123&c=1745898215' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=123&c=1745898215' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20080225/validation-zealotry-and-markup-exploitation/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching 1/64 queries in 0.073 seconds using apc
Object Caching 735/819 objects using apc

Served from: www.mondaybynoon.com @ 2012-02-11 09:31:09 -->
