<?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>Pique - standardy sieciowe &#187; komunikaty błędu</title>
	<atom:link href="http://pique.pl/tag/komunikaty-bledu/feed/" rel="self" type="application/rss+xml" />
	<link>http://pique.pl</link>
	<description>Krzysztof Danek o standardach sieciowych, PHP, JavaScript i całej reszcie</description>
	<lastBuildDate>Thu, 24 Jun 2010 20:15:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Label jako komunikat błędu</title>
		<link>http://pique.pl/2006/12/18/label-jako-komunikat-bledu/</link>
		<comments>http://pique.pl/2006/12/18/label-jako-komunikat-bledu/#comments</comments>
		<pubDate>Mon, 18 Dec 2006 00:26:48 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[komunikaty błędu]]></category>
		<category><![CDATA[label]]></category>

		<guid isPermaLink="false">http://pique.pl/2006/12/18/label-jako-komunikat-bledu/</guid>
		<description><![CDATA[Wykorzystanie elementu <code>label</code> do oznaczania komunikatów błędów w formularzach. <a href="http://pique.pl/2006/12/18/label-jako-komunikat-bledu/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Zastanawiałem się ostatnio nad wykorzystaniem elementu <code>label</code> do oznaczania elementów błędu. <a href="http://www.w3.org/TR/html4/interact/forms.html#edef-LABEL">Według specyfikacji ze stron W3C</a>:</p>
<blockquote cite="http://www.w3.org/TR/html4/interact/forms.html#edef-LABEL" lang="en"><p>The LABEL element may be used to attach information to controls. Each LABEL element is associated with exactly one form control.</p></blockquote>
<p>Uważam, że komunikat błędu można jak najbardziej podciągnąć pod tą definicję. Jest przecież bezpośrednio powiązany z daną kontrolką. Pytanie brzmi &ndash; jakie są korzyści takiego rozwiązania? Rozpatrzmy następujący formularz:</p>
<pre><code>&lt;form method="post" action="index.html"&gt;
  &lt;div id="errors"&gt;
    &lt;h2&gt;Błędy&lt;/h2&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;label for="name"&gt;&lt;em&gt;Imię i nazwisko&lt;/em&gt;: Proszę podać imię i nazwisko&lt;/label&gt;&lt;/li&gt;
      &lt;li&gt;&lt;label for="email"&gt;&lt;em&gt;Email&lt;/em&gt;: Podany adres e-mail jest nieprawidłowy&lt;/label&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div&gt;&lt;label for="name"&gt;Imię i nazwisko &lt;em&gt;(wymagane)&lt;/em&gt;&lt;/label&gt; &lt;input type="text" name="name" id="name" value=""&gt; &lt;strong class="error"&gt;&lt;label for="name"&gt;Proszę podać imię i nazwisko&lt;/label&gt;&lt;/strong&gt;&lt;/div&gt;
  &lt;div&gt;&lt;label for="email"&gt;Adres e-mail &lt;em&gt;(wymagany)&lt;/em&gt;&lt;/label&gt; &lt;input type="text" name="email" id="email" value="Lorem ipsum"&gt; &lt;strong class="error"&gt;&lt;label for="email"&gt;Podany adres e-mail jest nieprawidłowy&lt;/label&gt;&lt;/strong&gt;&lt;/div&gt;
  &lt;div&gt;&lt;input type="submit" value="Wyślij formularz"&gt;&lt;/div&gt;
&lt;/form&gt;
</code></pre>
<p><a href="/sandbox/error_labels/">Powyższy przykład na żywo</a><br />
Takie rozwiązanie przypisuje bezpośrednio informację o popełnionym błędzie do danego pola formularza. Według mnie może to być bardzo istotne zwłaszcza przy długich formularzach, występujących poniżej linii zgięcia. Po przeładowaniu strony nie widzimy bezpośrednio formularza ani komunikatów błędu z nim powiązanych. Świadczy to przeważnie o niewłaściwym projekcie strony, ale przykra rzeczywistość jest taka, że od czasu do czasu musimy borykać się z tego typu problemami. </p>
<p>Moje pytanie brzmi &ndash; czy takie rozwiązanie jest prawidłowe (nie spotkałem się z nim na innych stronach) i czy przynosi użytkownikom jakąkolwiek korzyść? Osobiście zauważyłem już jeden problem. Kliknięcie na <code>label</code> w górnej liście błędów przenosi do odpowiedniego pola, ustawiając na nim <em>focus</em>. Nie ma jednak powrotu do listy błędów, i efekt może być taki, że znajdziemy się gdzieś w połowie formularza nie będąc jednocześnie całkowicie świadomym położenia swojego i innych pól, w których wystąpiły błędy. </p>
<p>Czuję, że ta technika ma przyszłość, ale obecnie nie jestem do końca pewien, jak to rozwiązać przy pomocy czystego HTML. Będę wdzięczny za wszelkie uwagi.</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2006/12/18/label-jako-komunikat-bledu/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

