<?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>Niquelao</title>
	<atom:link href="http://www.niquelao.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.niquelao.net</link>
	<description>¿Cómo dices que te ha quedado?</description>
	<lastBuildDate>Wed, 10 Feb 2010 16:59:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Más sobre CSS 3: background-origin y background-clip</title>
		<link>http://www.niquelao.net/css/2009/12/13/mas-sobre-css-3-background-origin-y-background-clip/</link>
		<comments>http://www.niquelao.net/css/2009/12/13/mas-sobre-css-3-background-origin-y-background-clip/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 18:56:50 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[background-clip]]></category>
		<category><![CDATA[background-origin]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[imagen de fondo]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=342</guid>
		<description><![CDATA[Continuando con el repaso a las diferentes propiedades de CSS 3 que controlarán nuestros fondos, ahora les toca turno a background-origin y background-clip. Estas dos propiedades vienen para ayudarnos a controlar tanto el origen respecto al cual posicionaremos las imágenes &#8230; <a href="http://www.niquelao.net/css/2009/12/13/mas-sobre-css-3-background-origin-y-background-clip/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Continuando con el repaso a las diferentes <a href="http://www.w3.org/TR/css3-background/">propiedades de CSS 3</a> que controlarán nuestros fondos, ahora les toca turno a <a href="http://www.w3.org/TR/css3-background/#background-origin">background-origin</a> y <a href="http://www.w3.org/TR/css3-background/#the-background-clip">background-clip</a>. Estas dos propiedades vienen para ayudarnos a controlar tanto el origen respecto al cual posicionaremos las imágenes de fondo, como la posibilidad de mostrarlas por debajo del borde.<span id="more-342"></span></p>
<h3>background-origin</h3>
<p>Determina el origen a partir de donde se calcula posición del fondo, es decir, el origen de coordenadas para la propiedad <strong>background-position</strong>. Sus posibles valores son:</p>
<ul>
<li><strong>border-box</strong>: la posición del fondo se determina respecto al área que incluye el borde (traducido significa que si el borde es discontinuo, el fondo se podrá llegar a ver por debajo de él).</li>
<li><strong>padding-box</strong>: es el <strong>valor por defecto</strong> y determina la posición del fondo respecto al área que incluye el padding (equivalente a la actual en CSS 2.1).</li>
<li><strong>content-box</strong>: el fondo se posiciona respecto al área de contenido.</li>
</ul>
<h3>background-clip</h3>
<p>Determina el área en el que se mostrará el fondo y admite dos posibles valores:</p>
<ul>
<li><strong>border-box</strong>: es el <strong>valor por defecto</strong> e incluye el fondo en el área ocupada por el borde.</li>
<li><strong>padding-box</strong>: limita el área en la que se mostrará el fondo a la ocupada por el padding y el contenido, es decir, aunque el origen del fondo esté en el borde, no se mostrará la imagen por debajo de este.</li>
</ul>
<h3>La explicación</h3>
<p>Como siempre, lo mejor es acudir a los ejemplos en forma de capturas para explicar ambas propiedades. En ellos he simulado el espacio ocupado por un elemento (respetando el modelo de cajas), es decir, borde (punteado gris grueso), padding (espacio entre el borde y la delgada línea discontinua) y contenido (delimitado por la línea discontinua). Empecemos:</p>
<p><strong>¿Cuál es la diferencia entre el siguiente par de imágenes?</strong></p>
<p><img src="http://www.niquelao.net/wp-content/uploads/2009/12/a.png" class="ejemplo" alt="" /></p>
<p>Resulta evidente que la diferencia entre ambas está en que en una se muestra el fondo por debajo del borde, mientras que en la otra no. La CSS de la primera es:</p>
<pre>background-origin: border-box;
background-clip: border-box;</pre>
<p>&#8230;y para la segunda:</p>
<pre>background-origin: border-box;
background-clip: padding-box;</pre>
<p>Y ahora, <strong>¿entre las siguientes imágenes?</strong></p>
<p><img src="http://www.niquelao.net/wp-content/uploads/2009/12/b.png" class="ejemplo" alt="" /></p>
<p>Ahora la diferencia está en el origen del fondo. En la primera, el origen incluye el borde:</p>
<pre>background-origin: border-box;</pre>
<p>&#8230;mientras que en la segunda estaría en el padding:</p>
<pre>background-origin: padding-box;</pre>
<p>Finalmente, <strong>¿cuál es la diferencia ahora?</strong>:</p>
<p><img src="http://www.niquelao.net/wp-content/uploads/2009/12/c.png" class="ejemplo" alt="" /></p>
<p>Nuevamente está claro. La primera imagen, al igual que la primera en el par de ejemplos anteriores, tiene como origen del fondo el área del borde, mientras que la segunda tiene dicho origen en el área de contenido:</p>
<pre>background-origin: border-box;</pre>
<p>y</p>
<pre>background-origin: content-box;</pre>
<p>Si tu navegador es una versión reciente de <strong>Firefox</strong>, <strong>Chrome</strong>, <strong>Safari</strong> o <strong>Konqueror</strong>, puedes acceder a la página con un <a href="http://www.niquelao.net/wp-content/uploads/2009/12/backgrounds-prop.html">ejemplo de aplicación de ambas propiedades</a>. Si utilizas algún otro (por ejemplo, Internet Explorer u Opera) también puedes acceder al ejemplo, aunque en este caso será para ver el resultado cuando no se soportan estas propiedades.</p>
<p><strong>nota:</strong> Mozilla y WebKit soportan estas propiedades de forma experimental con sus sintaxis particulares.</p>
<p>Como ya expliqué en otro artículo, con CSS 3 podremos <a href="http://www.niquelao.net/css/2009/11/25/multiples-imagenes-de-fondo-con-css3/">incluir más de una imagen de fondo</a>. Las propiedades <strong>background-origin</strong> y <strong>background-clip</strong> admiten la inclusión de un valor para cada una de las imágenes que se utilicen.</p>
<p>Para terminar, nuevamente comentaré algo respecto a la imagen empleada de fondo en los ejemplos. Es una deliciosa tarta de frutas que hizo Dolores y que me gané por bueno&#8230; vale, que me gané a secas&#8230;  bueno, no me la gané, pero la disfruté como un niño <img src='http://www.niquelao.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/12/13/mas-sobre-css-3-background-origin-y-background-clip/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fish eye menu only with CSS Transform and Transition</title>
		<link>http://www.niquelao.net/css/2009/12/11/fish-eye-menu-only-with-css-transform-and-transition/</link>
		<comments>http://www.niquelao.net/css/2009/12/11/fish-eye-menu-only-with-css-transform-and-transition/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 19:41:22 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=330</guid>
		<description><![CDATA[This fish eye menu is a simple example of the things we can make with two special CSS 3 properties: transition (today only supported by Safari and Chrome with -webkit-transition) and transform (supported by Safari and Chrome with -webkit-transform and &#8230; <a href="http://www.niquelao.net/css/2009/12/11/fish-eye-menu-only-with-css-transform-and-transition/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This <strong>fish eye menu</strong> is a simple example of the things we can make with two <strong>special CSS 3 properties</strong>: <strong><a href="http://dev.w3.org/csswg/css3-transitions/">transition</a></strong> (today only supported by Safari and Chrome with <code>-webkit-transition</code>) and <strong><a href="http://www.w3.org/TR/2009/WD-css3-2d-transforms-20090320/">transform</a></strong> (supported by Safari and Chrome with <code>-webkit-transform</code> and by Firefox with <code>-moz-transform</code>).<span id="more-330"></span></p>
<p>First of all, the <a href="http://www.niquelao.net/wp-content/uploads/2009/12/example2.html">demo page of fish eye menu</a> (remember that only works in Chrome, Safari and Firefox. FF has not transtion property support).</p>
<p>The HTML code:</p>
<pre>&lt;ul&gt;
    &lt;li&gt;&lt;a href="#"&gt;&lt;img src="icons/opera_100.png" alt="opera browser" width="50"/&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;&lt;img src="icons/camino_100.png" alt="camino" width="50"/&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;&lt;img src="icons/chrome_100.png" alt="chrome" width="50"/&gt;&lt;/a&gt;&lt;/li&gt;
        .
        .
        .
&lt;/ul&gt;
</pre>
<p>And the CSS code (the top fish eye menu in the example). At the first, the style to display all items inline with a bit of css:</p>
<pre>ul,li {
    margin: 0;
    padding: 0;
}
ul {
    text-align: center;
}
li {
    display: inline;
}</pre>
<p>And now, the <strong>transform and transition properties</strong> to obtain the effect:</p>
<pre>a:hover, a:focus {
    z-index: 200;
      /* bring to top when the mouse is over or
         when it has the focus (for keyboard navigation) */
}
a img {
    border: none;
    -webkit-transition: all .2s;
       /* in Safari, every animatable property
          triggers an animation in .2s */
    -webkit-transform-origin: top;
       /* in Safari, the origin for
          transformation */
    -moz-transform-origin: top;
       /* in Firefox, the origin for
          transformation */
}
a:hover img, a:focus img {
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
       /* transform property (for Safari and Firefox) */
}</pre>
<p>The following article will come&#8230;  soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/12/11/fish-eye-menu-only-with-css-transform-and-transition/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Si utilizas Safari o Chrome&#8230;</title>
		<link>http://www.niquelao.net/css/2009/12/06/si-utilizas-safari/</link>
		<comments>http://www.niquelao.net/css/2009/12/06/si-utilizas-safari/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 20:20:14 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=310</guid>
		<description><![CDATA[&#8230;te desvelaré el final de Perdidos sólo con CSS. Si utilizas otro, habrás de esperar a la siguiente temporada&#8230;]]></description>
			<content:encoded><![CDATA[<p>&#8230;te desvelaré el <a href="http://niquelao.net/wp-content/uploads/2009/12/perdidos.html">final de Perdidos</a> sólo con CSS. Si utilizas otro, habrás de esperar a la siguiente temporada&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/12/06/si-utilizas-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS 3: Propiedades de fondo</title>
		<link>http://www.niquelao.net/css/2009/12/02/css-3-propiedades-de-fondo/</link>
		<comments>http://www.niquelao.net/css/2009/12/02/css-3-propiedades-de-fondo/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 09:53:22 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=287</guid>
		<description><![CDATA[Ayer me dio por recopilar las propiedades que previsiblemente incluirá CSS 3 para controlar el fondo de cualquier elemento (en el medio visual) y sus correspondientes valores. Varias de ellas coinciden con las que habitualmente empleamos en nuestras hojas de &#8230; <a href="http://www.niquelao.net/css/2009/12/02/css-3-propiedades-de-fondo/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ayer me dio por recopilar las propiedades que previsiblemente incluirá <a href="http://www.w3.org/TR/css3-roadmap/">CSS 3</a> para controlar <a href="http://www.w3.org/TR/css3-background/">el fondo de cualquier elemento</a> (en el medio visual) y sus correspondientes valores. Varias de ellas coinciden con las que habitualmente empleamos en nuestras hojas de estilo, con lo que no nos deberían resultar extrañas. El resto son nuevas propiedades que vienen a <strong>subsanar las carencias</strong> que los profesionales en CSS habían identificado.</p>
<p>A partir de ello he preparado la siguiente tabla:<span id="more-287"></span></p>
<table>
<thead>
<tr>
<th>Propiedad</th>
<th>valor/es</th>
<th>por defecto</th>
<th><abbr title="admite porcentajes">%</abbr></th>
</tr>
</thead>
<tbody>
<tr>
<td>background-attachment</td>
<td>[scroll | fixed | local] [ , [scroll | fixed | local] ]*</td>
<td>scroll</td>
<td>-</td>
</tr>
<tr>
<td>background-clip</td>
<td>[border-box | padding-box] [ , [border-box | padding-box] ]*</td>
<td>border-box</td>
<td>-</td>
</tr>
<tr>
<td>background-color</td>
<td>&lt;color&gt;</td>
<td>transparent</td>
<td>-</td>
</tr>
<tr>
<td>background-image</td>
<td>[&lt;image&gt; | none] [ , [&lt;image&gt; | none] ]*</td>
<td>none</td>
<td>-</td>
</tr>
<tr>
<td>background-origin</td>
<td>[border-box | padding-box | content-box] [ , [border-box | padding-box | content-box] ]*</td>
<td>padding-box</td>
<td>-</td>
</tr>
<tr>
<td>background-position</td>
<td>[ [ [ &lt;percentage&gt; | &lt;length&gt; | left | center | right ] ]  [ [ &lt;percentage&gt; | &lt;length&gt; | top | center | bottom ] ]? |  [ center | [ left | right ] [ &lt;percentage&gt; | &lt;length&gt; ]? ] ||  [ center | [ top | bottom ] [ &lt;percentage&gt; | &lt;length&gt; ]? ] ]*</td>
<td>0% 0%</td>
<td>si</td>
</tr>
<tr>
<td>background-repeat</td>
<td>[repeat-x | repeat-y | [repeat | space | round | no-repeat] ] [ , repeat-x | repeat-y | [repeat | space | round | no-repeat] ]*</td>
<td>repeat</td>
<td>-</td>
</tr>
<tr>
<td>background-size</a></td>
<td>[ [ &lt;length&gt; | &lt;percentage&gt; | auto ]{1,2} | cover | contain ] [ , [ &lt;length&gt; | &lt;percentage&gt; | auto ]{1,2} | cover | contain ]*</td>
<td>auto</td>
<td>si</td>
</tr>
</tbody>
</table>
<p>&#8230;y por supuesto, la forma <strong><a href="http://www.w3.org/TR/css3-background/#the-background">shorthand</a></strong>:</p>
<p><strong>background:</strong> <span class="codigo">[ &lt;bg-image&gt; || &lt;bg-position&gt; || / &lt;bg-size&gt; || &lt;repeat-style&gt; || &lt;attachment&gt; || &lt;bg-origin&gt; , ]* &lt;bg-image&gt; || &lt;bg-position&gt; || / &lt;bg-size&gt; || &lt;repeat-style&gt; || &lt;attachment&gt; || &lt;bg-origin&gt; || &lt;&#8217;background-color&#8217;&gt;</span></p>
<p>Algunas de las propiedades comienzan a tener soporte en las versiones más actuales de los navegadores (como ya mencioné en la entrada titulada <a href="http://www.niquelao.net/css/2009/11/25/multiples-imagenes-de-fondo-con-css3/">Multiples imágenes de fondo con CSS 3</a>), incluyéndose en algunos casos de forma experimental (por ejemplo en Firefox mediante el <a href="https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions">prefijo -moz</a>).</p>
<p><strong>nota:</strong> Os recuerdo que ninguna de las propiedades se hereda.</p>
<p>En breve, para dejar <strong>niquelao</strong> el tema y comprender claramente lo que podemos llegar a conseguir modificando las propiedades de fondo, explicaré en detalle lo que hace cada una de ellas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/12/02/css-3-propiedades-de-fondo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiples imágenes de fondo con CSS 3</title>
		<link>http://www.niquelao.net/css/2009/11/25/multiples-imagenes-de-fondo-con-css3/</link>
		<comments>http://www.niquelao.net/css/2009/11/25/multiples-imagenes-de-fondo-con-css3/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 20:04:12 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[imagen de fondo]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=255</guid>
		<description><![CDATA[Una de las novedades que introduce CSS 3 (y que por mi parte es bienvenida) es la posibilidad de incluir múltiples imágenes de fondo para un mismo elemento (http://www.w3.org/TR/css3-background/#layering). Hasta el momento, si queríamos combinar más de una imagen como &#8230; <a href="http://www.niquelao.net/css/2009/11/25/multiples-imagenes-de-fondo-con-css3/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Una de las <strong>novedades que introduce <a href="http://www.w3.org/TR/css3-roadmap/">CSS 3</a></strong> (y que por mi parte es bienvenida) es la posibilidad de <strong>incluir múltiples imágenes de fondo</strong> para un mismo elemento (<a href="http://www.w3.org/TR/css3-background/#layering">http://www.w3.org/TR/css3-background/#layering</a>).</p>
<p>Hasta el momento, si queríamos combinar más de una imagen como fondo, lo único que podíamos hacer era utilizar alguno de los elementos que teníamos en nuestra página, aplicando un fondo a cada uno para obtener el resultado deseado. Incluso en ocasiones, utilizábamos marcado extra, disminuyendo la calidad de la web al añadir marcado con fines únicamente presentacionales.</p>
<p>Pero ahora la cosa cambia&#8230;<span id="more-255"></span></p>
<p>Gracias a CSS 3, si queremos utilizar dos o más imágenes de fondo, a la propiedad <code>background-image:</code> le podremos añadir la ruta de cada una de ellas separándolas con comas. Por ejemplo:</p>
<pre>background-image: url('fondo1.png'), url('fondo2.png')</pre>
<p>Con algo tan sencillo como esto tenemos declarado lo necesario para que el elemento sobre el que lo apliquemos tenga las dos imágenes como fondo.</p>
<p>Claro, a partir de este punto surgen nuevas dudas&#8230;</p>
<ul>
<li>¿<strong>se superponen</strong> entre ellas?</li>
<li>¿<strong>se pueden posicionar</strong> en distintos lugares?</li>
<li>¿<strong>se puede repetir</strong> una sobre un eje y evitar que la otra lo haga?</li>
<li>&#8230;</li>
</ul>
<p>&#8230;y todas tienen como respuesta <strong>SI</strong>.</p>
<p>Respecto a la superposición, <strong>la primera imagen que se declara es la que se coloca más próxima al usuario</strong>. A continuación y por detrás de esta, se coloca la siguiente (en un eje perpendicular a la pantalla), luego la siguiente, y así sucesivamente hasta la última, que será la que se sitúe detrás de todas. Es como si cada imagen <strong>se situase en una capa</strong>. Si además declaramos un color de fondo, este se pondrá por detrás de todas las imágenes empleadas.</p>
<p>En cuanto al resto de dudas, puedo generalizar una respuesta, pues todas han surgido al pensar en las propiedades que habitualmente utilizamos, es decir, <strong>posición de la imagen</strong> de fondo (<code>background-position</code>), <strong>comportamiento al scroll</strong> (<code>background-attachment</code>) y <strong>repetición</strong> (<code>background-repeat</code>). Si queremos que cada imagen tenga un valor determinado, únicamente habremos de declararlos consecutivamente y separados por comas (al igual que hicimos al declarar las propias imágenes). Por ejemplo:</p>
<pre>background-image: url('fondo1.png'), url('fondo2.png'), url('fondo3.png');
background-position: 0 0, 150px 200px, left center;
background-repeat: no-repeat, repeat-x, no-repeat;</pre>
<p>Con esto declaramos tres imágenes como fondo, la primera se situará arriba a la izquierda, la segunda se desplazará hacia la derecha 150px y hacia abajo 200px y la tercera se colocará también a la izquierda y centrada verticalmente. Respecto a la repetición, la primera y la última no se repetirán y la segunda lo hará sobre el eje horizontal.</p>
<p>Pero aquí no se termina el tema. Para los que nos gusta optimizar el código (que deberíamos ser todos), algunas declaraciones se pueden abreviar:</p>
<pre>background-position: 0 0, 150px 200px, left center;</pre>
<p>pasa a:</p>
<pre>background-position: 0 0, 150px 200px, left;</pre>
<p>Se elimina la palabra <code>center</code>. Como todos sabemos (o deberíamos saber), cuando <strong>no se declara</strong> uno de los valores de posición del fondo, el que toma por defecto es el de centrado (<code>center</code>), en este caso vertical.</p>
<pre>background-repeat: no-repeat, repeat-x, no-repeat;</pre>
<p>pasa a:</p>
<pre>background-repeat: no-repeat, repeat-x;</pre>
<p>El tercer valor se puede eliminar. La razón es que cuando faltan valores, se repite la lista de los valores que ya declarados hasta tener uno por imagen (de ahí que si empieza la relación de valores de nuevo, el primero sea <code>no-repeat</code>). </p>
<p>Pero aún se puede optimizar más, aprovechando la propiedad <strong>shorthand</strong> <code>background:</code>:</p>
<pre>background: url('fondo1.png') 0 0 no-repeat, url('fondo2.png') 150px 200px
repeat-x, url('fondo3.png') left no-repeat;</pre>
<p>Como veréis, todo esto abre el <strong>abanico de posibilidades</strong> a nuestros diseños.</p>
<p>Algunos navegadores, en sus versiones actuales,<strong> comienzan a tener soporte</strong> para múltiples imágenes de fondo. Entre ellos están <strong>Firefox</strong> (a partir de la versión 3.6),  <strong>Chrome</strong>, <strong>Safari</strong> y <strong>Konqueror</strong>. Si estáis utilizando uno de ellos, podéis ver el resultado en el <a href="http://www.niquelao.net/wp-content/uploads/2009/11/multipleS.html">ejemplo que he preparado</a>. Lamentándolo mucho, aun no hay soporte en Internet Explorer (ya se verá si lo incluyen en su futura versión 9) ni en Opera. A continuación os incluyo un pantallazo con lo que se muestra en el ejemplo cuando hay soporte (si accedéis con un navegador sin soporte, únicamente veréis el borde punteado):</p>
<p><img class="ejemplo" src="http://www.niquelao.net/wp-content/uploads/2009/11/multipleSS.png" alt="multiples imágenes de fondo" /></p>
<p>Aparte de lo comentado, CSS 3 también incluye <strong>nuevos valores</strong> para algunas de las propiedades mencionadas, además de <strong>nuevas propiedades</strong> que darán gran versatilidad a nuestros diseños. En un próximo artículo las trataré en detalle. Para ir abriendo boca os menciono <code>background-size</code>&#8230;  <strong>¡sí, es lo que estáis pensando!</strong></p>
<p><strong>nota:</strong> Supongo que aparte del contenido técnico del artículo, lo más apetecible es la <a href="http://www.flickr.com/photos/talycomosuena/3777661280/in/set-72157621910947716/">tarta de la foto</a>. Pues para daros un poco de envidia os diré que la foto la hice yo y es una tarta de frutas que me preparó Dolores&#8230; Es evidente que ella también domina el tema de controlar la presentación, pero además os garantizo que el domina la gestión de contenidos, pues estaba deliciosa&#8230; <img src='http://www.niquelao.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
            <a href="http://twitter.com/share" class="twitter-share-button" data-count="" data-text="Multiples imágenes de fondo con CSS 3" data-via="" data-url="http://www.niquelao.net/css/2009/11/25/multiples-imagenes-de-fondo-con-css3/" >Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/11/25/multiples-imagenes-de-fondo-con-css3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Otro toque de estilo en el Curso de CSS</title>
		<link>http://www.niquelao.net/css/2009/11/11/otro-toque-de-estilo-en-el-curso-de-css/</link>
		<comments>http://www.niquelao.net/css/2009/11/11/otro-toque-de-estilo-en-el-curso-de-css/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 21:37:56 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=221</guid>
		<description><![CDATA[Como ya hice en la entrada anterior (estilando el curso de CSS Avanzado), voy a seguir comentando alguno de los estilos que utilicé en la presentación del curso de CSS para Zaragoza. Hoy uno rapidíto En una determinada diapositiva tuve &#8230; <a href="http://www.niquelao.net/css/2009/11/11/otro-toque-de-estilo-en-el-curso-de-css/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Como ya hice en la entrada anterior (<a href="http://www.niquelao.net/css/2009/11/08/estilando-curso-css-avanzado/">estilando el curso de CSS Avanzado</a>), voy a seguir comentando alguno de los <strong>estilos que utilicé en la presentación</strong> del curso de CSS para Zaragoza.</p>
<p>Hoy uno rapidíto <img src='http://www.niquelao.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <span id="more-221"></span></p>
<p>En una determinada diapositiva tuve que categorizar una lista de propiedades. Esta lista resultaba ligeramente larga como para <strong>acomodarla de forma vertical en la pantalla</strong> (máxime cuando quería añadir otra lista más en la misma diapo), con lo que <strong>decidí estilarla en línea</strong>. Nuevamente mi intención era <strong>aprovechar la propia presentación como ejemplo</strong> (os recuerdo que la hice con el <a href="http://niquelao.net/wp-content/uploads/2007/4/acc_slide/mini/">rumoslide</a>, el cual es básicamente XHTML, CSS y javascript) para demostrar lo que se puede conseguir con las hojas de estilo.</p>
<p>A continuación incluyo la lista en cuestión. Lo hago en forma de imagen para que se vea su aspecto sin estilar (únicamente muestra los estilos que <strong>Firefox le aplica por defecto</strong>):</p>
<p><img src="http://www.niquelao.net/wp-content/uploads/2009/11/Pantallazo-1.png" alt="Pantallazo-1" title="Pantallazo-1" width="180" height="581" class="ejemplo" /></p>
<p>El HTML empleado es simple. Se trata de una lista en la que cada item está constituido por un elemento <code>code</code> con texto en su interior:</p>
<pre>&lt;ul class="herencia"&gt;
	&lt;li&gt;&lt;code&gt;border-collapse&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;code&gt;border-spacing&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;code&gt;caption-side&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;code&gt;color&lt;/code&gt;&lt;/li&gt;
	...
	&lt;li&gt;&lt;code&gt;widows&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;code&gt;word-spacing&lt;/code&gt;
&lt;/ul&gt;</pre>
<p>&#8230;y el resultado que quise obtener (y que evidentemente obtuve) es el siguiente (nuevamente incluyo un pantallazo):</p>
<p><img class="ejemplo" src="http://www.niquelao.net/wp-content/uploads/2009/11/Pantallazo-4.png" alt="Pantallazo de la lista estilada con CSS" width="412" height="236" /></p>
<p>Los estilos empleados para conseguir este resultado son:</p>
<pre>code {
	font: .8em monospace;
	color: #009;
}
.herencia li {
	display: inline;
}
.herencia li:after {
	content: ', ';
}
.herencia li:last-child:after {
	content: ' ';
}</pre>
<p>Lo primero que hice fue estilar el elemento <code>code</code> para poder diferenciarlo del resto de texto. Para ello jugué con el <strong>tamaño de la fuente, su familia y su color</strong>. Como se ve, todo muy simple.</p>
<p>Para que la lista inicialmente en vertical pasase a alinearse cambié la propiedad <code>display</code> de los items a <code>inline</code>. Luego <strong>hice aparecer una coma</strong> tipográfica y un espacio (&#8220;, &#8220;) mediante la propiedad <code>content</code> (<a href="http://www.w3.org/TR/CSS2/generate.html">contenido generado</a>). Esta la apliqué sobre el pseudoelemento <code>:after</code>. Finalmente, como esto hace aparecer la coma también en el último item, lo que hice fue indicar que su contenido generado estuviese vacío (<code>content: ' '</code>).</p>
<p>Vale, es evidente que hay una pega en algo que aun no he comentado y que espero que alguien se haya dado cuenta (idealmente alguno de los alumnos/as asistentes al curso). Para <strong>seleccionar el último item</strong> utilicé la pseudoclase <code>:last-child</code> de <a href="http://www.w3.org/TR/css3-selectors/#last-child-pseudo">CSS 3</a>, cuyo soporte está muy poco extendido. Pensaréis que podría <strong>haber utilizado únicamente selectores de CSS 2.1</strong>. Por ejemplo, podría haber generado el contenido antes de cada item (en lugar de después) usando <code>:before</code> y luego seleccionar con <code>:first-child</code> el primer item para quitarle la coma de delante. ¿Por qué no lo hice?&#8230; por lo siguiente:</p>
<p><img class="ejemplo" src="http://www.niquelao.net/wp-content/uploads/2009/11/Pantallazo-5.png" alt="Pantallazo de la lista con el selector before"  width="436" height="214" class="ejemplo" /></p>
<p>La coma se dispone <strong>al comienzo de cada línea</strong> cuando un item se sitúa en dicha posición, lo cual es evidentemente <strong>una incorrección</strong>. Para evitar esto, y sabiendo que el navegador que iba a utilizar tiene soporte para ello, decidí emplear CSS3&#8230; Lo se, <code>:last-child</code> no está suficientemente extendido entre los navegadores, pero al menos en las ultimísimas versiones si&#8230;  y para la presentación me sirvió perfectamente.</p>
<p>Después de todo este rollo se puede extraer una conclusión: <strong>CSS me mola, y el poder usar la presentación del curso como ejemplo me mola aun más</strong>. Eso si, por favor,&#8230; <strong>navegadores con más soporte y que llegue pronto CSS 3</strong>.</p>
<p>Os dejo el enlace a un par de listas en las que se detalla el grado de soporte de CSS en base al navegador:</p>
<ul>
<li><a href="http://www.webdevout.net/browser-support-css#css3standards">http://www.webdevout.net/browser-support-css#css3standards</a></li>
<li><a href="http://www.quirksmode.org/css/contents.html">http://www.quirksmode.org/css/contents.html</a></li>
</ul>
<p>Por cierto, en la presentación no me pude aguantar y utilicé un poco más de CSS 3&#8230; evidentemente no me podía quedar sin <strong>redondear algunas esquinas</strong>. En un próximo artículo os lo comentaré&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/11/11/otro-toque-de-estilo-en-el-curso-de-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Estilando el curso de CSS Avanzado</title>
		<link>http://www.niquelao.net/css/2009/11/08/estilando-curso-css-avanzado/</link>
		<comments>http://www.niquelao.net/css/2009/11/08/estilando-curso-css-avanzado/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 20:00:20 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=153</guid>
		<description><![CDATA[Hace unos días estuve en Zaragoza impartiendo un curso sobre CSS avanzado (incluido en el catálogo de cursos de CTIC). Como es lógico, y especialmente por tratarse de un curso sobre hojas de estilo y técnicas avanzadas, preparé la presentación &#8230; <a href="http://www.niquelao.net/css/2009/11/08/estilando-curso-css-avanzado/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace unos días estuve en Zaragoza impartiendo un curso sobre <strong>CSS avanzado</strong> (incluido en el catálogo de cursos de <a href="http://fundacionctic.org">CTIC</a>). Como es lógico, y especialmente por tratarse de un curso sobre hojas de estilo y técnicas avanzadas, preparé la presentación en <a href="http://niquelao.net/wp-content/uploads/2007/4/acc_slide/mini/"><strong>rumoslide</strong></a> (como el 95% de los usuarios lo llaman así, al final se quedará con ese nombre).<span id="more-153"></span></p>
<p>La cuestión es que lo extenso del temario (o lo ajustado del tiempo) hizo que me quedase con las ganas de comentar algún detalle sobre los <strong>estilos que empleé en la presentación</strong>. Precisamente para ello me he puesto a escribir este artículo (bueno, y para retomar la costumbre de escribir periódicamente en el blog).</p>
<p>Como es lógico, el comienzo es el comienzo, con lo que <strong>hoy le toca a la portada</strong>:</p>
<p><a href="http://www.niquelao.net/wp-content/uploads/2009/11/portada.png"><img  src="http://www.niquelao.net/wp-content/uploads/2009/11/portada-300x206.png" alt="portada de la presentación" title="portada de la presentación" width="300" height="206" class="ejemplo" /></a></p>
<p>De la portada lo que quiero comentar es lo que hice con <strong>el título de la presentación</strong>. Mi idea era destacar ambas palabras (<strong>CSS</strong> y <strong>avanzado</strong>), tratando de hacerlo con suficiente énfasis individual para cada una, pero cuidando que no perdiesen su unión. Para ello, entre otras cosas, jugué con el tamaño y color de las fuentes (grande y claro vs menor y oscuro) y con su posición (superposición parcial).</p>
<p>Lo primero, el código HTML que utilicé:</p>
<pre>&lt;h1&gt;
	CSS
	&lt;span&gt;Avanzado&lt;/span&gt;
	&lt;span&gt;&lt;/span&gt;
&lt;/h1&gt;</pre>
<p>Y a continuación la CSS y su explicación:</p>
<pre>h1  {
	font-size: 7em;
	color: #ffc8a3;
	line-height: .8;
	font-style: italic;
	margin: .5em 0 .2em 20%;
	border-bottom: 3px solid;
	position: relative;
	overflow: hidden;
}</pre>
<p>La idea ha sido estilar primero las letras <em>CSS</em> del encabezado. Como el resto del texto se incluye en un <code>span</code>, se puede <strong>aplicar un estilo genérico</strong> para el <code>h1</code> para luego compensar el efecto sobre este. Así pues, declaré un tamaño de fuente suficientemente vistoso (7em), un color que combinase de forma adecuada con el resto de los estilos empleados y que no fuese demasiado intenso, el alto de línea y el estilo cursiva. Además le apliqué unos márgenes, teniendo en cuenta que quería separarlo de la izquierda un 20% del ancho total. Finalmente le puse una línea inferior de 3px (el color lo hereda de la tipografía).</p>
<p>Junto con estos estilos, como la superposición de palabras la conseguí con posicionamiento absoluto (más adelante lo comento), recurrí a <strong>inicializar las coordenadas</strong> de los descendientes del encabezado posicionándolo en relativo. El control sobre lo que desborda (overflow: hidden) lo añadí a posteriori (porque vi que el resultado quedaba elegante) tras estilar el resto del encabezado. Con esto se consigue que la parte inferior de la palabra <strong>avanzado</strong> oculte al sobresalir sobre los límites del <code>h1</code>.</p>
<p>A continuación estile la palabra <strong>avanzado</strong>:</p>
<pre>h1 :first-child {
	font-size: .5em;
	font-style: normal;
	color: #222;
	position: absolute;
	top: 60%;
	left: 15%;
	opacity: 0.75;
	-moz-opacity: 0.75;
	-ms-filter: alpha(opacity=75);
}</pre>
<p>Para <strong>evitar el marcado adicional</strong> jugué con los selectores. El término <strong>avanzado</strong> está en el primer elemento descendiente del <code>h1</code>, con lo que la selección se realiza mediante <a href="http://www.w3.org/TR/CSS21/selector.html#first-child">la pseudoclase</a> <code>:first-child</code>. Lo primero, cambiar las propiedades de la fuente (reducir tamaño, cambiar color y eliminar la cursiva). La superposición la hice mediante posicionamiento absoluto (las coordenadas se toman respecto a la posición del <code>h1</code> al haberle declarado posicionamiento relativo a este). Finalmente le di un toque extra jugando con su opacidad (recurrí a las propiedades con prefijos específicos que permiten que se vea correctamente en las versiones más actuales de los navegadores).</p>
<p>Y ahora la pregunta ¿cómo conseguí el efecto del degradado blanco?. La respuesta es sencilla y se basa en el siguiente código:</p>
<pre>h1 span + span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
 	background: transparent url(img/degrada.png) left bottom repeat-x;
}</pre>
<p>El <code>span</code> vacío que añadí (y que seguro que a alguno ya le sonaba raro) es el que se encarga de este efecto. En realidad la idea es simple. Se puede conseguir el efecto poniendo sobre el texto una imagen png con un <strong>degradado de color</strong> que vaya de blanco a transparente (el blanco es por el fondo de la página). Para ello seleccioné el <code>span</code> mediante <a href="http://www.w3.org/TR/CSS21/selector.html#adjacent-selectors"><strong>un selector contextual</strong></a> (es el <code>span</code> que va detrás de otro <code>span</code>, con lo que <code>span + span</code>), lo posicioné en absoluto e hice que ocupase el 100% del ancho y alto del encabezado (al posicionar el <code>span</code>, pasa a admitir dimensiones). Luego le añadí la imagen del degradado como fondo alineado en la parte inferior (como es una imagen estrecha, hice que se repitiese sobre el eje x). Y listo&#8230;</p>
<p>El resto de estilos aplicados a la portada (pié y logo) se mantienen constantes a lo largo de las diapositivas de la presentación. En general son bastante sencillos, por lo que los comentaré rápidamente (quizás lo detalle cuando mencione los estilos de otras secciones en artículos posteriores). Decir que el pié es un contendedor genérico que incluye una lista (a la que le he quitado los bullets). Le puse un color de fondo intenso próximo al naranja CTIC y una imagen (también de fondo) colocada a la derecha. Además lo posicioné <code>fixed</code> en la parte inferior de la pantalla porque <strong>no quería que se desplazase con el scroll</strong> vertical (esto me sirvió de ejemplo durante el curso).</p>
<p>Respecto al logo, es un <code>svg</code> incluido en el elemento <code>object</code>. Lo que hice fue posicionarlo en absoluto ahí arriba y mantenerlo así durante toda la presentación.</p>
<p>En brevé comentaré algunos otros ejemplos de estilo que apliqué a lo largo de la presentación, como por ejemplo, la forma en que conseguí el fondo bicolor con las letras CSS, etc.</p>
<p><a href="http://www.niquelao.net/wp-content/uploads/2009/11/Pantallazo.png"><img class="ejemplo" src="http://www.niquelao.net/wp-content/uploads/2009/11/Pantallazo-150x150.png" alt="Pantallazo de la presentación" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/11/08/estilando-curso-css-avanzado/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pequeña sugerencia de diseño: coherencia</title>
		<link>http://www.niquelao.net/css/2009/11/05/pequena-sugerencia-diseno-w3c/</link>
		<comments>http://www.niquelao.net/css/2009/11/05/pequena-sugerencia-diseno-w3c/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 22:15:43 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[coherencia]]></category>
		<category><![CDATA[iluminación]]></category>
		<category><![CDATA[sombra]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/?p=108</guid>
		<description><![CDATA[Recientemente hemos recibido una grata sorpresa al ver que la web del W3C ha modificado su diseño. Y digo grata sorpresa porque el nuevo diseño resulta más elegante y actual que el anterior. El conjunto de estilos incluye una gama &#8230; <a href="http://www.niquelao.net/css/2009/11/05/pequena-sugerencia-diseno-w3c/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recientemente hemos recibido <strong>una grata sorpresa</strong> al ver que la web del <a href="http://www.w3.org">W3C</a> ha modificado su diseño. Y digo grata sorpresa porque el nuevo diseño resulta más elegante y actual que el anterior. El conjunto de estilos incluye una gama cromática más sencilla, pero sensiblemente menos estridente y más eficaz.</p>
<p><span id="more-108"></span></p>
<p>Aun así, hoy me di cuenta de un detalle que me sirve para comentar una idea. Cuando queremos jugar con la simulación de sombras, es importante <strong>mantener una cierta coherencia</strong>. Mejor será que lo ilustre (las imágenes funcionan como enlaces para acceder a su ampliación):</p>
<p>
<a href="http://niquelao.net/wp-content/uploads/2009/11/peorAgraciado.png"><br />
<img class="ejemplo" src="http://niquelao.net/wp-content/uploads/2009/11/peorAgraciado-300x77.png" alt="Cabecera de la web del w3c" /></a><br />
Esta es la cabecera actual de una sección cualquiera de la web, en concreto del <a href="http://www.w3.org/News/2009.html">área de noticias</a>. De ella me gustaría destacar tres zonas concretas:<br />
<a href="http://niquelao.net/wp-content/uploads/2009/11/pocoAgraciado.png"><br />
<img class="ejemplo" src="http://niquelao.net/wp-content/uploads/2009/11/pocoAgraciado-300x157.png" alt="cabecera del w3c con ligeras modificaciones" /></a></p>
<p>Como se puede observar, hay tres efectos de sombra, dos de ellos conseguidos con imágenes y el tercero con el color de los bordes superior e izquierdo. El problema es que la sombra que genera el área azul (la que incluye el logo) trata de simular que la capa inferior es ligeramente cóncava (o la superior convexa), mientras que la que genera la cabecera con la palabra <em>NEWS</em> es totalmente plana. Para rematar el terceto tenemos la sombra de la capa para intercambiar las <em>Views</em> y es la que generada con el color de borde. Mientras que en las dos primeras la luz proyecta la sombra hacia la parte inferior, en la tercera la sombra se sitúa por encima de la capa, con lo que no existe una coherencia en la dirección de la luz o en la ubicación de la misma.</p>
<p>Por este motivo, me atrevo a hacer una simple sugerencia que creo que mejora la situación (os recuerdo que la imagen funciona como enlace para acceder a su ampliación):<br />
<a href="http://niquelao.net/wp-content/uploads/2009/11/mejorAgraciado.png"><br />
<img class="ejemplo" src="http://niquelao.net/wp-content/uploads/2009/11/mejorAgraciado-300x77.png" alt="cabecera del w3c con ligeras modificaciones" /></a></p>
<p>Únicamente se trata de hacer dos simples cambios:</p>
<ul>
<li>Las dos sombras principales podrían pasar a unificarse (en el ejemplo opté por el segundo tipo de sombra, más recto y definido).</li>
<li>Por otro lado, en el submenú <em>Views</em> podría haber sugerido intercambiar los colores de los bordes de arriba a abajo y de izquierda a derecha, pero como la sombra creada por estos no considero que sea eficaz, pienso que una opción podría ser desplazar dicho submenú hacia la derecha, alineándolo con el buscador. No creo acertado el que deba tener tanto peso visual como para situarse en un área destacada (como está actualmente). Y ya puestos, al emplear esquinas redondeadas, yo lo pondría como una pseudopestaña que surje de la parte superior de la web. Opcionalmente, lo simplificaría eliminando la opción de la vista actual (por ejemplo, si estamos en la vista <em>desktop</em>, no es necesario incluir dicha opción).</li>
</ul>
<p>En conclusión, cuando simulemos efectos de sombreado, <strong>seamos coherentes</strong>. Si queremos que el resultado parezca natural, debemos tener en cuenta la <strong>posición de la luz y su direccionalidad</strong>.</p>
<p><strong>nota:</strong> De acuerdo, enviaré esta sugerencia al propio W3C. Ya os contaré&#8230;</p>
            <a href="http://twitter.com/share" class="twitter-share-button" data-count="" data-text="Pequeña sugerencia de diseño: coherencia" data-via="" data-url="http://www.niquelao.net/css/2009/11/05/pequena-sugerencia-diseno-w3c/" >Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2009/11/05/pequena-sugerencia-diseno-w3c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Una de extensiones: HeadingsMap y WCAG Contrast checker</title>
		<link>http://www.niquelao.net/xhtml/2008/05/31/una-de-extensiones-headingsmap-y-colorchecker/</link>
		<comments>http://www.niquelao.net/xhtml/2008/05/31/una-de-extensiones-headingsmap-y-colorchecker/#comments</comments>
		<pubDate>Sat, 31 May 2008 10:51:31 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[Accesibilidad]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/xhtml/2008/05/31/una-de-extensiones-headingsmap-y-colorchecker/</guid>
		<description><![CDATA[Pues si, por fin me he decidido a publicar un par de extensiones para Firefox. Después de batir toda clase de records en cuanto a número de extensiones en mi Firefox, el siguiente paso natural era ponerme a preparar (&#8220;desarrollar&#8221; &#8230; <a href="http://www.niquelao.net/xhtml/2008/05/31/una-de-extensiones-headingsmap-y-colorchecker/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pues si, por fin me he decidido a publicar un par de extensiones para <a href="https://addons.mozilla.org/es-ES/firefox/">Firefox</a>. Después de batir toda clase de records en cuanto a número de extensiones en mi Firefox, el siguiente paso natural era ponerme a preparar (&#8220;desarrollar&#8221; suena demasiado pretencioso) las mias propias. Aquí traigo las dos primeras que hago públicas: <a href="http://www.niquelao.net/extension-headingsmap/">headingsMap</a> y <a href="http://www.niquelao.net/extension-colorchecker/">WCAG Contrast checker</a>.</p>
<p><span id="more-93"></span></p>
<h3>headingsMap</h3>
<p>Esta extensión genera un índice (o mapa) de cualquier documento web estructurado mediante el uso de encabezados, de tal manera que pulsando sobre cualquiera de los items de dicho mapa, se accede directamente al contenido correspondiente de la página.</p>
<p>Sí, ya lo se, esto mismo lo hace también otra extensión (<a href="https://addons.mozilla.org/es-ES/firefox/addon/475">documentmap</a>). La diferencia estriba en que <strong>headingsMap</strong>, además de indicar los niveles de cada encabezado y los posibles errores que pudiera haber en su secuencia (por ejemplo, los saltos inadecuados), en el caso de haber marcos (FRAMESET e IFRAMES) también genera el mapa para cada uno de ellos. De esta manera, se convierte en una herramienta útil tanto para la navegación por el documento como para revisar y/o auditar sitios web (en cuanto a accesibilidad, estándares, etc).</p>
<p>Como no podia ser menos, también se le ha añadido una funcionalidad adicional. En el caso de que el documento web al que se esté accediendo sea una presentación en formato web hecha con <a href="http://niquelao.net/wp-content/uploads/2007/4/acc_slide/mini/">acc_slide (o rumoslide)</a> o con <a href="http://www.w3.org/Talks/Tools/Slidy/">HTML Slidy</a>, la extensión funciona como un índice, permitiendo acceder directamente a la diapositiva que se desee.</p>
<p>En la página de la <a href="http://www.niquelao.net/extension-headingsmap/">extensión headingsMap</a> se puede encontrar más información, así como en <a href="https://addons.mozilla.org/es-ES/firefox/addon/7203">Firefox add-ons</a>.</p>
<p>Al instalar la extensión, aparece un icono en la barra de estado que despliega el panel lateral en el que se muestra la estructura de encabezados. También se puede acceder mediante la combinación del teclado <kbd>Alt + O</kbd>.</p>
<p class="ejemplo"><img class="ejemplo" alt="Pantallazo en el que se muestra la extensión headingsMap" src="http://www.niquelao.net/wp-content/uploads/2008/05/primera.png" /></p>
<h3>WCAG Contrast checker</h3>
<p>Mediante esta extensión se puede comprobar si la combinación de dos colores es adecuada para su percepción visual en base a los requerimientos de las <a href="http://www.w3.org/TR/WCAG10/wai-pageauth.html#tech-color-contrast">WCAG 1</a> y <a href="http://www.w3.org/TR/2008/CR-WCAG20-20080430/#visual-audio-contrast-contrast">WCAG 2</a>, empleando para ello el algoritmo que estas proponen. Dado que el algoritmo incluido en las WCAG 2 parece ser más preciso, el resultado de este es el que se muestra por defecto.</p>
<p>En un panel lateral se ofrece la posibilidad de introducir el código de los dos colores que se quieren comparar, mostrándose los resultados tanto para el caso de una percepción normal de los colores, como para situaciones tales como la protanopia, deuteranopia y tritanopia.</p>
<p>El código de color se puede introducir tanto en formato hexadecimal (en forma abreviada o no, y tanto con almohadilla como sin ella), como en RGB (pudiendo usar diferentes separadores entre los valores, como por ejemplo la coma o los dos puntos). Ej:</p>
<ul>
<li>En hexadecimal se podría poner: #FC5 ó FC5 ó FFCC55</li>
<li>En formato RGB se podría poner: 231,28,197 ó 231:28:197 ó rgb(231,28,197)</li>
</ul>
<p>El uso de la extensión <strong>WCAG Contrast checker</strong> se puede combinar con la extensión <a href="http://www.iosart.com/firefox/colorzilla/">ColorZilla</a>, pues esta permite seleccionar directamente desde el documento web (y copiar al portapapeles) el color que se quiera comprobar. Si se tiene dicha extensión instalada, WCAG Contrast checker reconocerá su presencia. En este caso, pulsando <kbd>Shift + Z</kbd> ó <kbd>Shift + X</kbd> se activará el eyedropper del ColorZilla y se enviará de forma automática, bien el color de primer plano, bien el de fondo, al WCAG Contrast checker para su análisis.</p>
<p>La extensión hace aparecer un icono en la barra de estado que al pulsarlo despliega el panel lateral, pudiendo acceder también mediante la combinación del teclado <kbd>Alt + C</kbd>.</p>
<p>En la página de la <a href="http://www.niquelao.net/wcag_contrast_checker/">extensión WCAG Contrast checker</a> y en <a href="https://addons.mozilla.org/es-ES/firefox/addon/7391">Firefox Add-ons</a> hay más información, además del enlace para la descarga.</p>
<p class="ejemplo"><img class="ejemplo" alt="Pantallazo en el que se muestra la extensión WCAG Contrast checker" src="http://www.niquelao.net/wp-content/uploads/2008/05/screenshot2.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/xhtml/2008/05/31/una-de-extensiones-headingsmap-y-colorchecker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Los problemas del elemento &lt;script&gt; en Internet Explorer</title>
		<link>http://www.niquelao.net/xhtml/2008/03/17/los-problemas-del-elemento-script-en-internet-explorer/</link>
		<comments>http://www.niquelao.net/xhtml/2008/03/17/los-problemas-del-elemento-script-en-internet-explorer/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 19:59:05 +0000</pubDate>
		<dc:creator>Maroto</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/xhtml/2008/03/17/los-problemas-del-elemento-script-en-internet-explorer/</guid>
		<description><![CDATA[¿Qué sucede cuando se quiere dotar a un documento (X)HTML de comportamiento desde el lado del cliente, en el navegador?. Es decir, que tenemos que hacer para ejecutar alguna función JavaScript externa en un navegador web. La pregunta no parece &#8230; <a href="http://www.niquelao.net/xhtml/2008/03/17/los-problemas-del-elemento-script-en-internet-explorer/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>¿Qué sucede cuando se quiere dotar a un documento <acronym title="eXtensible Hyper Text Markup Language" xml:lang="en" lang="en">(X)HTML</acronym> de comportamiento desde el lado del cliente, en el navegador?. Es decir, que tenemos que hacer para ejecutar alguna función JavaScript externa en un navegador web.</p>
<p><span id="more-85"></span></p>
<p>La pregunta no parece complicada a simple vista. Simplemente con utilizar el elemento &lt;script&gt; en dicho documento, donde el valor del atributo src nos indique donde se encuentra el fichero, sería suficiente.</p>
<p><code><br />
&lt;script type=&quot;text/javascript&quot; src=&quot;ruta_a/fichero.js&quot;&gt;&lt;/script&gt;<br />
</code></p>
<p>Sin embargo, si por un &quot;descuido&quot; olvidásemos la etiqueta de cierre de este elemento (&lt;/script&gt;) comenzarían los problemas. <acronym title="Internet Explorer">IE</acronym> (6 y 7) devuelven un documento en blanco, sin contenido. Si vemos el código fuente de la página, esta todo. Qué raro, ¿no?</p>
<p>En todo caso, la solución no es difícil. Cerramos el elemento y arreglado.</p>
<p>Si se trata de un documento <acronym>XHTML</acronym>, al ser nosotros unos tíos finos que nos gusta el código limpio y ordenado reducimos el código de llamada al código JavaScript mediante el uso de un elemento vacío, al igual que haríamos con contenedor de metainformación (&lt;meta /&gt;), una imagen (&lt;img /&gt;) o incluso con un vínculo a un recurso externo (&lt;link /&gt;).</p>
<p><code>&lt;script type=&quot;text/javascript&quot; src=&quot;ruta_a/fichero.js&quot; /&gt;</code></p>
<p>Sin embargo, a pesar de ser un documento válido, Volvemos a lo mismo, <acronym>IE</acronym> nos vuelve a sorprender con un documento en blanco. De nuevo, la solución es sencilla: utilizar la correspondiente etiqueta de cierre del elemento (&lt;/script&gt;).</p>
<p>¿Eso es todo?. No, que va. Si todo el trabajo lo realizaramos de forma manual no sería mayor inconveniente que recordar en todos los documentos que tenemos que utilizar esta etiqueta de cierre. Lamentablemente, hoy en día las cosas son un poco más complicadas y es habitual que el contenido sea generado y procesado a partir de otros documentos <acronym title="eXtensible Markup Language">XML</acronym>, por lo que el tratamiento de ciertos elementos se realiza en cadena. Por ejemplo, a los elementos vacíos se les proporciona de forma automática su correspondiente etiqueta de cierre (&lt;img&gt;&lt;/img&gt;, &lt;input&gt;&lt;/input&gt;, &lt;script&gt;&lt;/script&gt;), lo que a fin de cuentas devuelve un código no muy limpio. Si por el contrario sucede que a todos los elementos vacíos se les aplica la barra de cierre (/) tendremos los problemas anteriormente descritos con nuestro navegador más querido.</p>
<p>La <a href="http://www.w3.org/TR/html401/interact/scripts.html#edef-SCRIPT" title="Definición del elemento script" hreflang="en">recomendación HTML 4.01</a> indica que la etiqueta de cierre del elemento &lt;script&gt; es requerida, pero de ahí a que <acronym>IE</acronym> se altere y deje de respirar va mucho. ¡Qué menos que pasarse a modo <em xml:lang="en" lang="en">quirks</em>!, ¿no creéis?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/xhtml/2008/03/17/los-problemas-del-elemento-script-en-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hoy vamos de &#8220;wiidras&#8221;, invito yo</title>
		<link>http://www.niquelao.net/niquelando/2007/11/24/hoy-vamos-de-wiidras-invito-yo/</link>
		<comments>http://www.niquelao.net/niquelando/2007/11/24/hoy-vamos-de-wiidras-invito-yo/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 19:18:41 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[Niquelando]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/css/2007/11/24/hoy-vamos-de-wiidras-invito-yo/</guid>
		<description><![CDATA[Por fin puedo coger la botella de sidra, el vaso y ponerme a escanciar sin que los demás me miren mal por la cantidad que derramo por el suelo. Gracias a CTIC ya no solo nos vamos a reir cuando &#8230; <a href="http://www.niquelao.net/niquelando/2007/11/24/hoy-vamos-de-wiidras-invito-yo/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Por fin puedo coger la botella de sidra, el vaso y ponerme a escanciar sin que los demás me miren mal por la cantidad que derramo por el suelo. Gracias a <a href="http://www.fundacionctic.org" class="externo">CTIC</a> ya no solo nos vamos a reir cuando llevemos unos culines&#8230;</p>
<p><span id="more-84"></span><br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/yqtRJ0kaEEM&#038;rel=0&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/yqtRJ0kaEEM&#038;rel=0&#038;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>Por las cosas que dice, en el siguiente vídeo sería mejor no escuchar al presentador&#8230;</p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/kTPRO5J03_o&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/kTPRO5J03_o&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>Y si, vale, me he permitido la licencia de insertar estos vídeos sin preocuparme de las alternativas textuales, de la validación de código, etc. Es que ya llevo varias sidras y no estoy a lo que estoy.
<p>Lo dicho, hoy invito yo. Ahora sólo hace falta que Mateo (Porras) vaya a por una caja&#8230; el sabe cómo conseguirlas&#8230; </p>
<p><strong>nota:</strong> ¡Se acabaron las prácticas con agua!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/niquelando/2007/11/24/hoy-vamos-de-wiidras-invito-yo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Presentación vs Comportamiento</title>
		<link>http://www.niquelao.net/css/2007/10/17/presentacion-vs-comportamiento/</link>
		<comments>http://www.niquelao.net/css/2007/10/17/presentacion-vs-comportamiento/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 18:59:23 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/css/2007/10/17/%c2%bfpresentacion-o-comportamiento/</guid>
		<description><![CDATA[Pues si, todo parecía ir bien en la ponencia que Bert Bos nos ofreció en Fundamentos Web 2007. Pero de repente, lo dijo, planteó que como prioridad para el siguiente nivel de CSS (nuestras muy amadas, queridas y respetadas CSS) &#8230; <a href="http://www.niquelao.net/css/2007/10/17/presentacion-vs-comportamiento/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pues si, todo parecía ir bien en la ponencia que <a href="http://www.w3.org/People/Bos/" hreflang="en" lang="en" xml:lang="en" class="externo">Bert Bos</a> nos ofreció en <a href="http://www.fundamentosweb.org" class="externo">Fundamentos Web 2007</a>. Pero de repente, lo dijo, planteó que como prioridad para el siguiente nivel de <a xml:lang="en" lang="en" href="http://www.w3.org/TR/css3-hyperlinks/" class="externo">CSS</a> (nuestras muy amadas, queridas y respetadas CSS) estaría el <strong>comportamiento de los enlaces</strong> en lo que se refiere al lugar donde aparecerá el recurso al que apuntan.</p>
<p>Algunos no le dieron más importancia que la que tiene dentro del propio contexto. Sin embargo, otros empezamos a darle vueltas a lo que a primera vista era algo que no podíamos comprender: ¿vamos a retroceder y volver a mezclar lo que entendemos por presentación con lo que entendemos por comportamiento?</p>
<p><span id="more-82"></span></p>
<p>Rápidamente muchos se apresuraron a decir&#8230; a murmurar&#8230; a escribir en listas de correo&#8230; que aquello era algo así como sacrílego. Lo confieso, esa fue mi primera tentación. Pero no me tapé los oidos, pues suponía que el <a href="http://www.w3.org/" hreflang="en" lang="en" xml:lang="en" class="externo">W3C</a> no podía estar haciendo algo así, algo en contra de un principio fundamental, la &#8220;<strong>máxima</strong>&#8221; que los buenos tratan de respetar, &#8220;<strong>la separación entre contenido, presentación y comportamiento</strong>&#8220;. Recapitulé, repensé y me posicioné&#8230;</p>
<p>El error no está en la propuesta de controlar con CSS el comportamiento de los enlaces. El error reside en nuestra <strong>interpretación del término &#8220;comportamiento&#8221;</strong>, o más bien en lo que creemos que abarca. Está claro que la forma en la que se muestra el contenido pertenece a la capa de presentación. En base a esto&#8230; ¿el que se muestre en una ventana nueva qué es: comportamiento o presentación? Yo tengo clara la respuesta&#8230;</p>
<p>Cito textualmente (extracto de <a xml:lang="en" lang="en" href="http://www.w3.org/TR/css3-hyperlinks/" class="externo">CSS3 Hyperlink Presentation Module</a>):</p>
<blockquote xml:lang="en" lang="en" cite="http://www.w3.org/TR/css3-hyperlinks/">
<p>Some parts of behavior are presentational; e.g., CSS can say that<br />
activation of a hyperlink causes a new window to pop up (but not, e.g., that<br />
the activation sends a POST request to a server). The specifiable behaviors<br />
include:</p>
<ul>
<li>replace current document or portion of a document by target</li>
<li>pop up a temporary window (possibly modal) with the target</li>
<li>ditto, but pop &#8220;under&#8221;</li>
<li>show target in a specific window</li>
<li>using tabs in a tabbed interface rather than windows in the above</li>
</ul>
</blockquote>
<p>Yo creo que está bastante claro.</p>
<p>Por ahí alguien escribió irónicamente que, por ejemplo, el segundo punto se referiría a algo parecido al <a href="http://www.huddletogether.com/projects/lightbox2/" hreflang="en" xml:lang="en" lang="en" class="externo">lightbox</a>, como si fuese algo que se ha de hacer con javascript y fuese una tontería (por no utilizar un adjetivo peor) considerarlo como presentacion. En mi humilde opinión, básicamente el <strong>lightbox</strong> no consiste más que en mostrar dentro de una capa un contenido (objetivo del enlace), posicionándolo, poniendole un fondo, etc. ¿Acaso eso no es presentacional? Evidentemente, todo menos la petición al sevidor pertenece a la capa de presentación.</p>
<p>En conclusión&#8230; <strong>el comportamiento es una parte fundamental de la trilogía</strong>. Comencemos a demostrar que entendemos qué es y que sabemos diferenciarlo del resto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2007/10/17/presentacion-vs-comportamiento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apunten, disparen y al bolso</title>
		<link>http://www.niquelao.net/niquelando/2007/09/28/apunten-disparen-y-al-bolso/</link>
		<comments>http://www.niquelao.net/niquelando/2007/09/28/apunten-disparen-y-al-bolso/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 06:23:19 +0000</pubDate>
		<dc:creator>Maroto</dc:creator>
				<category><![CDATA[Niquelando]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/niquelando/2007/09/28/apunten-disparen-y-al-bolso/</guid>
		<description><![CDATA[Vía adaptativepath nos enteramos de lo &#34;último&#34; que están desarrollando los de Nokia beta labs y que se ha presentado recientemente en Ubicomp 2007, [16-19 sep, Innsbruck, Austria]. La aplicación en cuestión se llama Point &#38; Find, lo que viene &#8230; <a href="http://www.niquelao.net/niquelando/2007/09/28/apunten-disparen-y-al-bolso/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vía <a class="externo" href="http://www.adaptivepath.com/blog/2007/09/22/%e2%80%a6-nokia%e2%80%99s-point-and-find-is-another-one-of-my-favorite-things%e2%80%a6/">adaptativepath</a> nos enteramos de lo &quot;último&quot; que están desarrollando los de <a class="externo" href="http://www.nokia.com/betalabs">Nokia beta labs</a> y que se ha presentado recientemente en Ubicomp 2007, [16-19 sep, Innsbruck, Austria]. La aplicación en cuestión se llama <em>Point &amp; Find</em>, lo que viene a ser, más o menos &quot;Apunta y encuentra&quot;, o algo así. La función principal de esta aplicación, que de algo me quiere sonar (ya preguntaremos al <a href="http://www.jsmanrique.es" class="externo">experto movilero</a>), es capturar una imagen con la cámara del móvil, reconocer el/los objetos que aparezcan y ofrecer información al respecto.</p>
<p><span id="more-81"></span></p>
<p>Después de investigar un poco por la red, encontramos que en todos <a class="externo" href="http://inbabble.com/2007/06/28/nokia-plans-to-replace-clicks-with-pointfind/">los sitios que se hacen eco</a> de la novedad referencian siempre los mismos ejemplos, <q>obtienes la foto de un CD o el cartel de una película y a partir de la información obtenida podrás realizar, incluso, compras</q> (se supone que del CD en cuestión o las entradas para la peli). Esto me suena al mítico ejemplo utilizado en la <a class="externo" href="http://www.w3c.es/Divulgacion/Guiasbreves/WebSemantica#funcionamiento">Web Semántica</a> con los horarios de los aviones &#8230;</p>
<p>Buscando aplicaciones prácticas del invento, porque no se juntan con los investigadores de la Universidad de Cambridge (los que concluyeron que <a class="externo" href="http://www.elpais.com/articulo/gente/Jessica/Alba/matematicamente/perfecta/elpepugen/20070828elpepuage_10/Tes">Jessica Alba es matemáticamente perfecta</a>), intercambian algorítmos y así, mediante una foto sepamos si tenemos delante a la mujer perfecta (para decirselo, más que nada). Aunque vistas las escasas referencias encontradas sobre el tema, nos conformaremos con lo de los CD´s.</p>
<p>Parece que ellas ya le han encontrado alguna utilidad. <a class="externo" href="http://flickr.com/photos/rhinman/1406333866/" title="Fotos de la presentación">Que ruina!!</a>.</p>
<h3>Última hora</h3>
<p>Al parecer, <a href="http://www.kooaba.com/en/index.html">Kooaba</a> proporciona este servicio a vuelta de <acronym lang="en" xml:lang="en" title="Multimedia Messaging System">MMS</acronym>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/niquelando/2007/09/28/apunten-disparen-y-al-bolso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Días disponibles con acc_calendar</title>
		<link>http://www.niquelao.net/accesibilidad/2007/07/07/fitro-de-dias-en-acc_calendar/</link>
		<comments>http://www.niquelao.net/accesibilidad/2007/07/07/fitro-de-dias-en-acc_calendar/#comments</comments>
		<pubDate>Sat, 07 Jul 2007 10:49:29 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/accesibilidad/2007/07/06/fitro-de-dias-en-acc_calendar/</guid>
		<description><![CDATA[En estas fechas estivales es frecuente acudir a sitios web que ofrecen viajes, vuelos, hoteles… En todos ellos hay al menos un campo para introducir fechas y suele ser frecuente que además exista un calendario que nos permita seleccionarlas. Para &#8230; <a href="http://www.niquelao.net/accesibilidad/2007/07/07/fitro-de-dias-en-acc_calendar/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En estas fechas estivales es frecuente acudir a sitios web que ofrecen viajes, vuelos, hoteles… En todos ellos hay al menos un campo para introducir fechas y suele ser frecuente que además exista un calendario que nos permita seleccionarlas.</p>
<p><span id="more-66"></span></p>
<p>Para evitar las frustrantes esperas que hemos de sufrir cuando, tras realizar la consulta, la fecha elegida no está disponible, en algunos sitios el calendario las filtra ofreciendo sólo las que si lo estan. Esto me hizo pensar que al <a href="http://www.niquelao.net/acc_calendar-calendario-accesible-en-javascript-innecesario-pero-util/">acc_calendar</a> le hacía falta esa posibilidad para quedar (al menos un poco) <strong>“niquelao”</strong>.</p>
<p>Dicho y (tras un buen rato) hecho. Mediante un toque de ajax, podemos aplicar un filtro sobre el calendario para que únicamente permita la selección de determinadas fechas. Para ello, de forma opcional añadiremos la clase <code>disp</code> en el campo de texto para la fecha. En el <code>script</code> hay disponible una variable (<var>fichero_consulta</var>) en la que indicar la dirección que resolverá la consulta de días disponibles en el servidor.</p>
<p>El envío se hace mediante el método POST y las variables son el mes y el año (<var>month</var>, en formato numérico, y <var>year</var>). El servidor ha de devolver los días disponibles en forma de texto y separados por comas. Por ejemplo, con php podría devolver la cadena <samp>12,13,14,17,21,28,29</samp> mediante un simple <code>echo</code>.</p>
<p>Ya he retocado el <a href="http://www.niquelao.net/acc_calendar-calendario-accesible-en-javascript-innecesario-pero-util/#julio2007">artículo original</a> dedicado al calendario para detallar (otra vez) esta funcionalidad e incluir un ejemplo.</p>
<p>Si alguno de vosotros piensa que es mejorable, que lo diga. Yo por mi parte haré lo que pueda (teniendo en cuenta que estoy de vacaciones).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/accesibilidad/2007/07/07/fitro-de-dias-en-acc_calendar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>acc_slide: Presentaciones con XHTML, CSS y javascript</title>
		<link>http://www.niquelao.net/css/2007/04/15/acc_slide-presentaciones-con-xhtml-css-y-javascript/</link>
		<comments>http://www.niquelao.net/css/2007/04/15/acc_slide-presentaciones-con-xhtml-css-y-javascript/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 19:24:50 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/css/2007/04/15/acc_slide-presentaciones-con-xhtml-css-y-javascript/</guid>
		<description><![CDATA[Por fin ha llegado el momento de publicarlo. Hacía tiempo que estaba en ello pero por un motivo u otro no pude hacerlo hasta ahora. Aquí está el nuevo sistema para realizar presentaciones con XHTML, CSS y javascript. Supongo que &#8230; <a href="http://www.niquelao.net/css/2007/04/15/acc_slide-presentaciones-con-xhtml-css-y-javascript/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Por fin ha llegado el momento de publicarlo. Hacía tiempo que estaba en ello pero por un motivo u otro no pude hacerlo hasta ahora. Aquí está el nuevo sistema para realizar presentaciones con XHTML, CSS y javascript.</p>
<p><span id="more-61"></span></p>
<p>Supongo que alguno ya conocerá más de un sistema de los que habitualmente se utilizan, como por ejemplo el <a href="http://www.w3.org/Talks/Tools/Slidy/" title="enlace externo" class="externo">HTML Slidy</a> del W3C o el <a href="http://meyerweb.com/eric/tools/s5/s5-intro.html" title="enlace externo" class="externo">S5</a> de Eric Meyer. Tras utilizarlos llegué a la conclusión de que, aunque buenos, había algo que quizás podría ser mejorable (según mi criterio, claro).</p>
<p>Como he dicho, ambos sistemas son buenos y válidos, pero en ambos se hace necesario utilizar marcado cuya única finalidad es la de servir para que el script lo utilice y aplique estilos sobre él. Si realmente se quiere tener algo eficaz, <strong>¿por qué no hacer que el propio script genere el marcado que necesita de forma inteligente?</strong></p>
<h3>El desarrollo</h3>
<p>Me puse manos a la obra con la siguiente premisa: Si tenemos un documento correctamente estructurado y marcado (con sus encabezados, párrafos, listas&#8230;), el script debe ser lo suficientemente inteligente como para organizar y generar la presentación, todo ello sin incluir ningún contenedor adicional, ni clases, ni id. Únicamente ha de ser la propia estructura del documento la que permita diferenciar lo que se tiene que incluir en cada diapositiva.</p>
<p>Tras pegarme con ello, aquí está el resultado. El <strong>acc_slide</strong>, o como Andrés y Maroto lo llaman, <strong>rumo_slide</strong> o <strong>slide_oso</strong>. En lugar de seguir escribiendo más acerca de ello, lo mejor es demostrar de lo que estoy hablando. He preparado dos presentaciones, ambas con la descripción del sistema y de su utilización. La diferencia entre ambas es el grado de resumen. No dudéis en echar un vistazo al marcado que he empleado para ver de lo que estoy hablando:</p>
<p><strong>nota:</strong> aunque la forma de navegación por la presentación se trata en la misma, la forma básica de moverse por los contenidos se realiza con las flechas (arriba y abajo) del teclado.</p>
<ul>
<li><a href="http://niquelao.net/wp-content/uploads/2007/4/acc_slide/mini/">Versión reducida</a> y <a href="http://niquelao.net/wp-content/uploads/2007/4/acc_slide/mini/acc_slide.zip" title="archivo comprimido en formato zip">Versión reducida descargable</a></li>
<li><a href="http://niquelao.net/wp-content/uploads/2007/4/acc_slide/">Versión extendida (si, muy extendida)</a> y <a href="http://niquelao.net/wp-content/uploads/2007/4/acc_slide/version_ampliada/acc_slide_ampl.zip" title="archivo comprimido en formato zip">Versión extendida descargable</a></li>
</ul>
<h3>Características básicas</h3>
<p><em>acc_slide</em> ha sido creado teniendo como objetivo la separación absoluta entre el contenido y el comportamiento, evitando cualquier consideración acerca de este al crear y marcar la información que se quiera mostrar.</p>
<p>Entre las características que el sistema de presentaciones <em>acc_slide</em> posee se pueden destacar:</p>
<ul>
<li>Únicamente requiere de una correcta y lógica estructuración del contenido mediante el uso de encabezados. No necesita de elementos adicionales más allá de los necesarios para el marcado semántico del contenido. El sistema reconstruye y adapta el árbol DOM, con lo que no impone la necesidad de un marcado concreto. Esto lo hace compatible con cualquier documento (X)HTML bien estructurado (incluso con los que incluyen el marcado empleado por otros sistemas de presentaciones). Esto lo hace totalmente versatil. Se podría utilizar sobre un documento web, sobre el marcado empleado en los otros sistemas de presentaciones, etc.</li>
<li>Respetuoso con los estándares y la accesibilidad.</li>
<li>Separación absoluta de contenido, presentación y comportamiento.</li>
<li>Fácil integración y fácil utilización. No requiere conocimientos específicos, y si se utiliza uno de los temas propuestos, no es necesario conocer CSS.</li>
<li>Permite crear secciones con grupos de diapositivas.</li>
<li>El aspecto gráfico ofrece gran versatilidad y se controla totalmente con CSS. Además se pueden crear varios estilos y jugar con la especificidad de selector para aplicarlos (y combinarlos) en caliente (mientras se ejecuta la presentación).</li>
<li>Sistema <em>autoplay</em> de reproducción automática.</li>
<li>Incorpora un sistema para abrir enlaces de forma integrada a la presentación. Si se incluye el atributo <code>title</code> en el enlace, el contenido de este se mostrará al pié de la ventana. Además, el destino del enlace puede ser una URL o una imagen.</li>
<li>Cada diapositiva se asocia con un ancla de tal manera que se puede ir directamente a la que se desee. El ancla coincide con la posición de la diapositiva en la presentación.</li>
</ul>
<p>Llegados a este punto, espero vuestro feedback. También estaba pensando crear un repositorio público de estilos para el sistema. Si os parece una buena idea y queréis participar con los vuestros, no lo dudéis. Podéis enviar vuestros temas a <a href="mailto:rumoroso@niquelao.net">rumoroso@niquelao.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/css/2007/04/15/acc_slide-presentaciones-con-xhtml-css-y-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Actualización de acc_calendar</title>
		<link>http://www.niquelao.net/accesibilidad/2007/04/04/actualizacion-de-acc_calendar/</link>
		<comments>http://www.niquelao.net/accesibilidad/2007/04/04/actualizacion-de-acc_calendar/#comments</comments>
		<pubDate>Wed, 04 Apr 2007 18:16:57 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/accesibilidad/2007/04/04/actualizacion-de-acc_calendar/</guid>
		<description><![CDATA[Ya se que parece que soy recurrente con los mismos temas. Primero fue la saga de los formularios y ahora parece que viene la de los calendarios. Tras observar la posible versatilidad de otros calendarios que se cargan con javascript, &#8230; <a href="http://www.niquelao.net/accesibilidad/2007/04/04/actualizacion-de-acc_calendar/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ya se que parece que soy recurrente con los mismos temas. Primero fue la saga de los formularios y ahora parece que viene la de los calendarios.</p>
<p>Tras observar la posible versatilidad de otros calendarios que se cargan con javascript, me he decidido a implementar un nuevo cambio y retocar/actualizar <a href="http://www.niquelao.net/acc_calendar-calendario-accesible-en-javascript-innecesario-pero-util/">el artículo original</a>.</p>
<p><span id="more-60"></span></p>
<p>El cambio consiste en la posibilidad de utilizar el calendario para cargar cada uno de los datos de la fecha en un campo de texto independiente. Asímismo, he decidido eliminar ciertos estilos que se aplicaban desde el propio script para que todo lo referente a la presentación sea una tarea de CSS.</p>
<p>Espero vuestro feed-back.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/accesibilidad/2007/04/04/actualizacion-de-acc_calendar/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>acc_calendar v1.1</title>
		<link>http://www.niquelao.net/accesibilidad/2007/03/12/acc_calendar-v11/</link>
		<comments>http://www.niquelao.net/accesibilidad/2007/03/12/acc_calendar-v11/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 17:56:08 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/accesibilidad/2007/03/13/acc_calendar-v11/</guid>
		<description><![CDATA[Hasta el ahora, el script funcionaba ejecutándose al cargar el documento. El problema surgía cuando de forma dinámica, como por ejemplo con el uso de Ajax, se introducían nuevos campos en los que se quería utilizar el calendario. Como se &#8230; <a href="http://www.niquelao.net/accesibilidad/2007/03/12/acc_calendar-v11/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hasta el ahora, el script funcionaba ejecutándose al cargar el documento. El problema surgía cuando de forma dinámica, como por ejemplo con el uso de <strong>Ajax</strong>, se introducían nuevos campos en los que se quería utilizar el calendario. Como se crean después de la carga del contenido, estos no cargarían los enlaces para generarlo. He introducido un cambio para que esto quede solventado.</p>
<p><span id="more-59"></span></p>
<p>El nuevo script tiene una pequeña modificación tal que si en cualquier momento se introducen nuevos campos de texto bastará con llamar posteriormente a la función <code>cargaLinks()</code> para que todo funcione como se desea.</p>
<p>Se puede acceder al artículo completo del calendario (con la revisión incluida) desde <a href="http://www.niquelao.net/acc_calendar-calendario-accesible-en-javascript-innecesario-pero-util/">acc_calendar v1.1</a> o desde el enlace permanente del área de Recursos de la página principal.</p>
<p><strong>nota:</strong> Lo que no podemos olvidar es que para que los nuevos <code>input</code> asocien el enlace para la apertura del calendario tendrán que poseer las clases ya indicadas en el anterior artículo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/accesibilidad/2007/03/12/acc_calendar-v11/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Calendario accesible en javascript (innecesario pero útil)</title>
		<link>http://www.niquelao.net/accesibilidad/2007/02/11/acc_calendar-calendario-en-javascript-innecesario-pero-util/</link>
		<comments>http://www.niquelao.net/accesibilidad/2007/02/11/acc_calendar-calendario-en-javascript-innecesario-pero-util/#comments</comments>
		<pubDate>Sun, 11 Feb 2007 10:22:02 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/accesibilidad/2007/02/11/acc_calendar-calendario-en-javascript-innecesario-pero-util/</guid>
		<description><![CDATA[En los campos de formulario en los que se tiene que introducir una fecha, de cara a mejorar la experiencia de usuario, y a la par que se aumenta el control en el formato de los datos, se puede incluir &#8230; <a href="http://www.niquelao.net/accesibilidad/2007/02/11/acc_calendar-calendario-en-javascript-innecesario-pero-util/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En los campos de formulario en los que se tiene que introducir una fecha, de cara a mejorar la experiencia de usuario, y a la par que se aumenta el control en el formato de los datos, se puede incluir un calendario mediante javascript. Lo se, <strong>palabra maldita</strong>, aunque si se hace con cuidado y control, no tiene por qué tener implicaciones negativas en cuanto a estándares y accesibilidad.</p>
<p><span id="more-58"></span></p>
<h3>Objetivos</h3>
<p>En principio he establecido dos objetivos principales, que más que objetivos han sido pautas de trabajo a la hora de construirlo:</p>
<ul>
<li><strong>Que sea accesible y no intrusivo.</strong> Evidentemente, en ausencia de soporte para javascript no se ofrece la opción de desplegar el calendario, pero, si hay soporte…  ¿por qué no hacer que el contenido generado sea accesible y utilizable?</li>
<li><strong>Que sea fácil de implementar y utilizar.</strong> He buscado una forma tal los programadores que deseen implementarlo en sus páginas web no requieran de introducir código adicional. Al igual que en CSS se utilizan diversos tipos de selectores (de elementos, id, clases,…) para asociar estilos a las diferentes partes de nuestros documentos, ¿por qué no utilizar lo mismo para asociar comportamientos?</li>
</ul>
<p>Además, como objetivos secundarios están: optimizar, generalizar, internacionalizar,… (siendo realista, tuve que eliminar los objetivos de ligar y el de ganar dinero.)</p>
<h3>El ejemplo</h3>
<p>Para comprobar su funcionamiento, podéis <a href="http://www.niquelao.net/acc_calendar-calendario-accesible-en-javascript-innecesario-pero-util" title="ejemplo de funcionamiento e implantación">acceder a un ejemplo</a> y <a href="http://niquelao.net/wp-content/uploads/2007/07/acc_calendar/acc_calendar.zip" title="descargar del ejemplo en formato comprimido zip">descargarlo</a>.</p>
<h3>Incluyéndolo en nuestros documentos</h3>
<p>La inclusión del calendario en nuestro documento es tan sencillo como incluir el elemento <code>script</code> correspondiente en el <code>head</code>:</p>
<p class="ejemplo">
<pre>&lt;script type="text/javascript" src="acc_calendar/acc_calendar.js"&gt;&lt;/script&gt;</pre>
<p>El calendario se cargará para cualquier campo de texto que lleve incluida la clase “<code>fecha</code>“. El formato de la fecha se introduce en la primera línea del script. Así, si por ejemplo se desea que la fecha siga el orden día/mes/año, no incluyendo un 0 delante del día cuando esté formada por un dígito, e incluyéndolo en el mes cuando sea necesario:</p>
<p class="ejemplo">
<pre>var formato = 'd/mm/y';</pre>
<p>Para conseguir mostrar el calendario junto a un campo de texto, este deberá llevar la clase “fecha”. Además, todos los posibles parámetros se introducen como clases. La lista completa es la siguiente:</p>
<ul>
<li>Cargar calendario (requerido): <code>fecha</code></li>
<li>Fechas previas a hoy: <code>prev</code></li>
<li>Fechas posteriores a hoy: <code>post</code></li>
<li>Rango de años: <code>rangX</code> (siendo X el número de años)</li>
<li>No se incluye el día actual: <code>todnact</code></li>
</ul>
<h3>Ventajas</h3>
<p>Entre las ventajas que se le pueden atribuir tenemos:</p>
<ul>
<li>Fácil de usar e implementar.</li>
<li>No es intrusivo.</li>
<li>El código y el contenido que se genera es accesible (marcado, organización, contenido,…) y es utilizable mediante el uso de ayudas técnicas (lector de pantalla,…). En este punto se ha tenido en cuenta en qué lugar recae el foco tanto al mostrarse como durante el funcionamiento y al desaparecer. Así, cuando se muestra, el foco recae directamente sobre el selector de años, siguiendo un orden lógico al tabular desde él, y cuando se cierra el calendario (mediante el enlace de cierre o tras haber seleccionado una fecha) el foco recae sobre el campo de texto al que se le había asociado.</li>
<li>Se facilita la navegación por el mismo independientemente del dispositivo. Se puede navegar utilizando cualquiera de los dispositivos con los que podamos navegar por la web.</li>
<li>Sus parámetros son fácilmente configurables y su llamada muy simple (mediante el uso de nombres de clase).</li>
<li>El idioma lo toma directamente del documento padre, pudiendo añadir traducciones nuevas al código. En el caso de no estar declarado el idimoa en el documento (cosa que no debe ocurrir), el español será el que se utilice por defecto. Actualmente, además del español incluye el inglés. Adicionalmente se ha hecho que reconozca si es inglés americano, no porque vaya a cambiar el contenido, sino para cambiar la disposición de los días de la semana (el domingo se coloca primero).</li>
<li>Los estilos aplicados al calendario se incluyen mediante una CSS enlazada por medio del script, con lo que en ausencia de soporte para este, se optimiza la descarga del documento al no llamarse a dicha hoja de estilos.</li>
<li>Se han incluido clases de tal manera que se puedan aplicar estilos sobre cualquiera de las celdas de la tabla (días activos, días no activos, día actual), así como estilos específicos para los sábados o domingos.</li>
</ul>
<h3>Código generado</h3>
<p>A continuación incluyo parte del código generado por el script. Como se puede observar (y como ya he dicho) se incluyen nombres de clase e id para poder controlar la maquetación mediante la hoja de estilos.</p>
<pre>&lt;a title="Desplegar el calendario para seleccionar una fecha" href="#" class="enl_cal"&gt;
	&lt;img alt="" src="acc_calendar/acc_calendar.gif" /&gt;
&lt;/a&gt;
&lt;div id="calendar"&gt;
	&lt;label id="label_year" for="nav_year_select"&gt;Año
		&lt;select id="nav_year_select"&gt;
			...
			&lt;option&gt;1987&lt;/option&gt;
			&lt;option selected="selected"&gt;1988&lt;/option&gt;
			...
		&lt;/select&gt;
	&lt;/label&gt;
	&lt;label id="label_Meses" for="nav_mes_select"&gt;Mes
		&lt;select id="nav_mes_select"&gt;
			&lt;option selected="selected"&gt;Enero&lt;/option&gt;
			&lt;option&gt;Febrero&lt;/option&gt;
			&lt;option&gt;Marzo&lt;/option&gt;
			...
		&lt;/select&gt;
	&lt;/label&gt;
	&lt;table summary="Calendario con los días disponibles de Enero de 2007" id="calendario"&gt;
		&lt;caption id="caption"&gt;Enero 2007&lt;/caption&gt;
		&lt;colgroup span="5"&gt;&lt;/colgroup&gt;
		&lt;colgroup span="2"&gt;&lt;/colgroup&gt;
		&lt;thead&gt;
			&lt;tr&gt;
				&lt;th scope="col"&gt;&lt;abbr title="Lunes"&gt;Lun&lt;/abbr&gt;&lt;/th&gt;
				&lt;th scope="col"&gt;&lt;abbr title="Martes"&gt;Mar&lt;/abbr&gt;&lt;/th&gt;
				...
			&lt;/tr&gt;
		&lt;/thead&gt;
		&lt;tbody id="tbody"&gt;
			&lt;tr&gt;
				&lt;td class="act"&gt;
					&lt;a title="Seleccione esta fecha" href="#"&gt;1&lt;/a&gt;
				&lt;/td&gt;
				&lt;td class="act"&gt;
					&lt;a title="Seleccione esta fecha" href="#"&gt;2&lt;/a&gt;
				&lt;/td&gt;
				...
			&lt;/tr&gt;
			&lt;tr&gt;
				...
				&lt;td class="inact"&gt;24&lt;/td&gt;
				&lt;td class="inact"&gt;25&lt;/td&gt;
				...
			&lt;/tr&gt;
		&lt;/tbody&gt;
	&lt;/table&gt;
	&lt;ul id="nav_mes"&gt;
		&lt;li&gt;
			&lt;a href="#"&gt;Diciembre&lt;/a&gt;
		&lt;/li&gt;
		&lt;li class="post"&gt;
			&lt;a href="#"&gt;Febrero&lt;/a&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;ul id="nav_year"&gt;
		&lt;li&gt;
			&lt;a href="#" title="Ir al año"&gt;2004&lt;/a&gt;
		&lt;/li&gt;
		&lt;li class="post"&gt;
			&lt;a href="#" title="Ir al año"&gt;2006&lt;/a&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;div id="close_it"&gt;
		&lt;a href="#"&gt;Cerrar calendario&lt;/a&gt;
	&lt;/div&gt;
&lt;/div&gt;</pre>
<h3>Conclusión</h3>
<p>A modo de cierre… ¿qué se podría decir de este calendario?…  pues que “<strong>es innecesario…   pero útil</strong>” y que “<strong>no tiene implicaciones negativas en términos de accesibilidad</strong>“.</p>
<p>…por cierto ¿qué día es hoy?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/accesibilidad/2007/02/11/acc_calendar-calendario-en-javascript-innecesario-pero-util/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Y más formularios&#8230;  jarl!</title>
		<link>http://www.niquelao.net/accesibilidad/2007/01/02/y-mas-formularios-jarl/</link>
		<comments>http://www.niquelao.net/accesibilidad/2007/01/02/y-mas-formularios-jarl/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 19:27:48 +0000</pubDate>
		<dc:creator>Rumoroso</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/accesibilidad/2007/01/02/y-mas-formularios-jarl/</guid>
		<description><![CDATA[Tras la ya extensa saga &#8220;Retocando Formularios&#8220;, muchos pensaron (bueno, presuponiendo tanto lo de &#8220;muchos&#8221; como su capacidad para pensar) que no volvería a tratar sobre ellos&#8230; ¡Pues va a ser que no! He vuelto para tratar de mejorarlo, pero &#8230; <a href="http://www.niquelao.net/accesibilidad/2007/01/02/y-mas-formularios-jarl/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tras la ya extensa saga &#8220;<strong>Retocando Formularios</strong>&#8220;, muchos pensaron (bueno, presuponiendo tanto lo de &#8220;muchos&#8221; como su capacidad para pensar) que no volvería a tratar sobre ellos&#8230; <strong>¡Pues va a ser que no!</strong> He vuelto para tratar de mejorarlo, pero en esta ocasión desde el punto de vista de la accesibilidad.</p>
<p><span id="more-55"></span></p>
<p>A las funcionalidades que introducían los anteriores scripts le he añadido la capacidad de reconocer la agrupación de campos mediante el elemento <a href="http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.10" title="enlace externo" xml:lang="en" lang="en">fieldset</a>, y todo con la finalidad de mejorar la experiencia de usuario y la accesibilidad. Este elemento tiene como finalidad el agrupar campos en base al tipo de datos a introducir (ej. datos personales, datos bancarios, datos académicos, etc), mejorando la estructura y la accesibilidad del conjunto. Al fieldset se le añade el elemento <a href="http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.10" title="enlace externo" xml:lang="en" lang="en">legend</a> que funciona a modo de encabezado de los datos agrupados.</p>
<h3>&#8230;y ¿para qué?</h3>
<p>La idea me surgió tras ver horrorizado un inmenso formulario con multitud de campos obligatorios (y no voy a decir donde&#8230;). Cuando no se rellenan estos, la lista con los errores se vuelve <strong>larguíííííííííísima</strong>, con lo que resulta muy incomodo de leer, difícil de comprender e incluso estéticamente horrible.</p>
<p>Si los campos de formulario van agrupados para facilitar su comprensión, ¿por qué no agrupar los errores siguiendo el mismo patrón?</p>
<p>Para el funcionamiento del script no hace falta la agrupación, pero bueno&#8230;   siempre es positivo tenerla presente y utilizarla.</p>
<h3>La prueba</h3>
<p>Como siempre, podéis acceder al <a href="http://www.niquelao.net/wp-content/uploads/2007/1/formulario_IV/index.html">ejemplo de uso</a> o incluso <a href="http://www.niquelao.net/wp-content/uploads/2007/1/formulario_IV/formulario_IV.zip" title="archivo comprimido en formato zip">descargarlo directamente</a>.</p>
<p>Como se puede observar, los errores siguen mostrándose mediante una lista. No obstante, en este caso se crea una lista anidada para tratar de agruparlos y conseguir esa mejora en estructura antes mencionada.</p>
<h3>&#8230;y todo esto se relaciona con</h3>
<ul>
<li><a href="http://www.niquelao.net/javascript/2006/12/17/retocando-formularios-episodio-3-el-retorno/">Retocando Formularios, Episodio III (”El Retorno”)</a></li>
<li><a href="http://www.niquelao.net/javascript/2006/09/14/retocando-formularios-ii/">Retocando Formularios (Episodio II)</a></li>
<li><a href="http://www.niquelao.net/javascript/2006/09/05/retocando-formularios-i/">Retocando Formularios (episodio I)</a></li>
</ul>
<p><strong>Importante:</strong> Quiero recordar que el uso de javascript no debe tener implicaciones negativas en la accesibilidad. Bien utilizado, y con todas las consideraciones hacia el usuario, mejora su experiencia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/accesibilidad/2007/01/02/y-mas-formularios-jarl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hoy, va de fuentes</title>
		<link>http://www.niquelao.net/xhtml/2006/12/28/hoy-va-de-fuentes/</link>
		<comments>http://www.niquelao.net/xhtml/2006/12/28/hoy-va-de-fuentes/#comments</comments>
		<pubDate>Thu, 28 Dec 2006 16:47:26 +0000</pubDate>
		<dc:creator>Maroto</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[Niquelando]]></category>

		<guid isPermaLink="false">http://www.niquelao.net/xhtml/2006/12/28/hoy-va-de-fuentes/</guid>
		<description><![CDATA[Después de todas las críticas vertidas sobre nuestras humildes personas, y muy a pesar de incumplir todo tipo de reglas de los más caducos manuales de ética profesional, lo voy a hacer, voy a revelar la fuente de mis conocimientos &#8230; <a href="http://www.niquelao.net/xhtml/2006/12/28/hoy-va-de-fuentes/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Después de todas las críticas vertidas sobre nuestras humildes personas, y muy a pesar de incumplir todo tipo de reglas de los más caducos manuales de ética profesional, lo voy a hacer, voy a revelar la fuente de mis conocimientos &#8230; <span id="more-53"></span><br />
Se que los más asiduos del lugar esperabais encontrar el más mejor artículo sobre tipos de fuente y su comportamiento en los diferentes navegadores del mercado.</p>
<p class="ejemplo"><img src="http://www.niquelao.net/wp-content/uploads/2006/12/fuente_cita.png" id="image52" alt="Fuente de Maroto, la fuente de mis conocimientos" class="ejemplo" /></p>
<p>¿Qué? ¿Estoy o no estoy a la última?. Esto no se consigue ni con un master.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.niquelao.net/xhtml/2006/12/28/hoy-va-de-fuentes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

