<?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>LaWebera.es</title>
	<atom:link href="http://www.lawebera.es/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lawebera.es</link>
	<description>Otro sitio realizado con WordPress</description>
	<lastBuildDate>Thu, 02 Feb 2012 09:29:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Características básicas para ser diseñador web freelance</title>
		<link>http://www.lawebera.es/diseno-web-freelance/caracteristicas-para-ser-disenador-freelance.php</link>
		<comments>http://www.lawebera.es/diseno-web-freelance/caracteristicas-para-ser-disenador-freelance.php#comments</comments>
		<pubDate>Thu, 02 Feb 2012 06:36:35 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Diseño Web Freelance]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4382</guid>
		<description><![CDATA[En este artículo exponemos tres características básicas que todo diseñador freelance debe poseer: ser digno de confianza, tener ética profesional y saber comunicar.]]></description>
			<content:encoded><![CDATA[<p>Es común pensar que la educación y los títulos nos abrirán todas las puertas necesarias para llegar al éxito, puesto que así es como hemos sido instruidos y es la imagen que han tratado de dejarnos nuestros padres y las generaciones anteriores a ellos. </p>
<p>Pero el hecho de que este pensamiento sea común no lo hace necesariamente verdadero, son muchos quienes poseen un título o un carrera terminada y su destino se ve envuelto en situaciones que realmente no los llevan a ningún lado por lo que la búsqueda del éxito se vuelve más en una carrera por sobrevivir.</p>
<p>No cabe duda que la educación efectivamente es fundamental, sea como sea que la hayas adquirido esta será la que te dará las herramientas para poder resaltar sobre los demás y sobre todo mantenerte sin caer en errores trágicos o inmaduros. Si bien la educación te llevará a lograr y conseguir títulos, estos no te garantizan absolutamente nada, son tus características, habilidades y aptitudes las que te harán sobresalir al afrontar el mundo laboral, siendo esto todavía más marcado al momento de decidir ser <a href="http://www.lawebera.es/diseno-web-freelance" title="Manual diseño web freelance">diseñador web freelance</a>.</p>
<p>Es por ello que debemos tener muy en cuenta que características son las que los clientes buscan al momento de contratar diseñadores freelance, al principio todo puede parecer una búsqueda por llegar a ser el mejor en todo, pero no nos olvidemos de cuidar los detalles y recordar que no tienes una gran compañía que te respalde por lo que debes de hacer lo necesario para que tu nombre se vaya reconociendo por <a href="http://www.lawebera.es/diseno-web-freelance/portafolio-disenador-web-freelance.php" title="el portfolio de diseñador web freelance">un buen trabajo</a>.</p>
<h2>Ser digno de confianza</h2>
<p>Puedes ser la persona más preparada y capaz para realizar un trabajo pero si el cliente no confía en ti no podrás llegar muy lejos, <strong>debes demostrar que eres un diseñador web confiable</strong>, a la cual se le pueden asignar tareas y cumplirá en tiempo y forma. </p>
<p>Te podrás estar pregunta ¿Cómo puedo demostrar esto? puedes intentar mostrarle al cliente tus anteriores trabajos, incluso si no fueron de manera freelance, hazle ver que ya tuviste proyectos importantes o similares a lo que él te esta pidiendo, de esa manera él sabrá que puede confiarte el proyecto.</p>
<p>Si buscas aumentar la confianza en el ámbito laboral puedes <a href="http://www.lawebera.es/diseno-web-freelance/darse-conocer-disenador-freelance.php" title="El Cómo y Dónde del darse a conocer como diseñador web freelance">incluir en tu currículum</a> números telefónicos o correos electrónicos de clientes o jefes anteriores que sirvan como referencia para que el cliente se de cuenta que realmente eres una persona responsable. </p>
<p>Los clientes necesitan saber que puedes entregar el trabajo a tiempo y que será algo de calidad, es por ello que <strong>la mayoría de los trabajos que se consiguen de manera independiente son por recomendaciones y referencias</strong>.</p>
<p>Para ganar la confianza a nivel personal, trata de establecer conversaciones directas, habla sobre temas que quizás toquen temas familiares o sobre tu vida cotidiana, hazle ver que no eres un ladrón ni mucho menos, llevas una vida normal y como tal solo quieres ganarte la vida haciendo lo que mejor sabes hacer.</p>
<h2>Ética Porfesional</h2>
<p>Otra característica básica que un cliente busca en un diseñador freelance es la ética, pero sobre todo la <strong>ética en el trabajo</strong>. El profesional debe demostrar su deseo por realizar el trabajo que le están ofreciendo, el cliente debe de darse cuenta que <a href="http://www.lawebera.es/comunidad/articulos/marketing/no-disenes-web-ganar-dinero.php" title="No diseñes tu sitio web para ganar dinero">nuestro principal objetivo no es el dinero</a>, ya que si la relación se torna meramente en asuntos monetarios las prioridades se tienden a perder.</p>
<p>Nuestro trabajo debe de ser realizado de la mejor manera, sin dejar todo al final y mucho menos entregando algo incompleto, <strong>debemos disfrutar lo que estamos haciendo</strong> y de esa manera nuestro cliente se dará cuenta que realmente escogió a un buen desarrollador o diseñador para su proyecto. </p>
<p>Sólo recuerda, no lo hagas todo por el dinero y evita que éste se convierta en el punto de atención.</p>
<h2>Saber comunicar</h2>
<p>La comunicación es fundamental no sólo para el trabajo sino para toda interacción en la vida, somos seres comunicativos por naturaleza pero no por ello quiere decir que sabemos cómo comunicarnos, muchas veces no sabemos que decir y que callar, algunas otras no comunicamos de la forma adecuada o simplemente no lo hacemos.</p>
<p>Un cliente siempre va a buscar una relación donde el trabajador le este indicando <strong>cómo va el proyecto, que opciones tiene, que es necesario, que sobra y que falta</strong>. Es muy común que el cliente tenga muchas preguntas sobre el tema, no te debes desesperar, después de todo por eso te están pagando ya que si el cliente supiera todo él mismo podría hacer el trabajo para el que fuiste contratado.</p>
<p>Sin embargo esto no significa que siempre debemos aplicar la misma técnica, no todos los clientes son iguales, habrá quien te demande más y quien simplemente busque establecer la mínima comunicación, sea cual sea la situación tu siempre busca dejar bien en claro los puntos básicos para llevar a puerto un buen proyecto. Si el cliente es poco o muy comunicativo hará que la comunicación crezca o disminuya, sin duda, pero lo importante es que lo que tú tengas que decir no se quede en el silencio, <strong>el cliente estará dispuesto a oír mientras se este hablando de su inversión</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/diseno-web-freelance/caracteristicas-para-ser-disenador-freelance.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Errores comunes de un diseñador freelance, Parte 2</title>
		<link>http://www.lawebera.es/diseno-web-freelance/errores-comunes-disenador-freelance-ii.php</link>
		<comments>http://www.lawebera.es/diseno-web-freelance/errores-comunes-disenador-freelance-ii.php#comments</comments>
		<pubDate>Tue, 31 Jan 2012 08:36:01 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Diseño Web Freelance]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4371</guid>
		<description><![CDATA[Segunda parte del artículo donde mostramos errores que se presentan de manera constante en los diseñadores que trabajan como freelance.]]></description>
			<content:encoded><![CDATA[<p>Con el objetivo de seguir exponiendo los <a href="http://www.lawebera.es/diseno-web-freelance/errores-comunes-disenador-freelance-i.php" title="errores diseño web freelance">errores que solemos cometer al trabajar como diseñador freelance</a>, en este artículo explicaremos dos casos más, los cuales demostrarán como al no ser tratados adecuadamente esta clase de errores, nos pueden causar varios percances.</p>
<h2>No te estanques en una única tecnología</h2>
<p>En muchas ocasiones te puedes encontrar trabajando para un cliente que únicamente te pide que diseñes con cierta tecnología o una forma de diseñar, lenguaje o plataforma, todo esto con la justificación de que es lo que mejor se acopla a sus necesidades o preferencias. En principio no suena nada mal, y todavía menos si esta tecnología es la que más te gusta, por lo que disfrutas el hecho de diseñar para ese cliente y lo crees adecuado para un trabajo estable.</p>
<p>El tiempo puede pasar y cuando menos lo esperes estarás encasillado dentro de un solo desarrollo, y es que el hecho de <strong>trabajar con una sola tecnología no tiene ningún problema si el trabajo es momentáneo</strong>, pero si se torna casi permanente y tienes ya más de un par de años trabajando únicamente con ese lenguaje o plataforma, es tiempo de que empieces a buscar diversificación para no caer en un error. </p>
<p><strong>El mundo del <a href="http://www.lawebera.es/diseno-web" title="diseño de paginas web">diseño web</a> es muy variante y como tal debes estar siempre la vanguardia</strong>, aprende lo emergente, trata de educarte de manera continua sin esperar a que las tecnologías te sobrepasen. </p>
<p>Con esto no quiero decir que te olvides por completo de lo que ya dominas, si en el pasado disfrutabas desarrollar en Flash y aún tienes muchos clientes te piden diseñar con él, pues entonces hazlo, el punto aquí es que no puedes dejar de lado que existen tecnologías como HTML5, CSS3 y jQuery que actualmente están dominando el mercado y que pueden hacer mejor el trabajo que ya haces con Flash.</p>
<p>Si la remuneración es buena y el trabajo constantemente te mantiene ocupado, técnicamente no hay razón para quejarse de él, sin embargo debes pensar en ti y en tu carrera, ya que de ello sobrevivirás en el futuro y como tal el futuro tú necesita estar mejor preparado, por lo que <strong>diversificar tus habilidades te hará un mejor diseñador y podrás ser elegido para más proyectos</strong>.</p>
<p>Recuerda que si tu cliente un día decide retirarse, por más cómodo que estuvieras, tendrás que salir a buscar un nuevo proyecto y como tú únicamente desarrollaste en cierta tecnología para él, es muy probable que te encuentres que dicha tecnología ya no es tan utilizada como solía serlo en el pasado y si no te preparaste adecuadamente, tendrás que invertir tiempo en su estudio, tiempo que te costará al no recibir un salario como antes.</p>
<h2>Diversifica clientes</h2>
<p>Si se presenta la posibilidad también debes diversificar tus clientes, no es conveniente escoger siempre proyectos similares, es claro que esto ofrece una ventaja muy tentadora la cual es trabajar de manera más rápida y sencilla, pero si escoges proyectos diversos aprenderás más y afianzarás la teoría que habías estudiado anteriormente.</p>
<p>En caso de que la relación con el cliente realmente se ha visto fortalecida y tienes ya vario tiempo colaborando con él, entonces es necesario que establezcan un acuerdo legal un poco más adecuado, puedes sentarte a platicar con él para buscar que tu negocio siga creciendo alrededor de sus necesidades.</p>
<h2>Balance entre el trabajo y tu vida personal</h2>
<p>Son muchas las personas que toman a su profesión como su modo de vida, en cierta manera muchos dirán que no está mal, que son personas dedicadas y que si continúan de esa manera llegarán muy lejos, y puede que tengan razón pero el punto a debatir aquí es su salud no su perseverancia. </p>
<p>Es recomendado tener siempre un adecuado balance entre trabajo y socialización para así poder llegar a tener una vida saludable, si el trabajo absorbe todas tus horas del día no estarás bien ni física ni mentalmente, además de que perderás amistades y eventos que te pueden ayudar a crecer como persona.</p>
<p>Si bien es cierto que este error no sólo es cometido por los <a href="http://www.lawebera.es/diseno-web-freelance/consejos-disenador-web-freelance-principiante.php" title="Consejos para un diseñador web freelance principiante">diseñadores web independientes</a>, es algo que se tiene que resaltar para esta profesión por el simple hecho de que no trabajamos con personas, estamos haciendo nuestro trabajo con una máquina, por lo que la interacción social se limita a lo que puedas encontrar en tus momentos de procrastinación.</p>
<p>Al trabajar de manera independiente no tienes ningún horario de oficina, por lo que <a href="http://www.lawebera.es/diseno-web-freelance/pros-contras-ser-disenador-freelance.php" title="Pros y contras de ser diseñador freelance">muchos clientes abusan de esto</a> y te buscan solo en las horas que ellos están desocupados, horas las cuales tu quizás ya habías destinado para alguna otra actividad. </p>
<p>Para evitar esta clase de situaciones y establecer el balance mencionado, debes establecer bien en claro con tu cliente cuales son tus horas de trabajo, si te gusta trabajar en la noche adelante pero establécelo, si el cliente quiere tener junta, esta bien que él ponga el horario siempre y cuando se ajuste a lo que tu tienes, <strong>no siempre sacrificar nuestra vida social significa que somos trabajadores responsables</strong>.</p>
<p>Todos debemos tener algún tipo sistema de apoyo, y eso lo encontraremos ya sea en la <strong>familia, en una pareja, un círculo de amigos o incluso colegas de profesión</strong>, pero si no invertimos el tiempo adecuado en ellos, estos perderán interés en nosotros y simplemente podemos quedar sin ese sistema. Es válido pensar en tu negocio, en tu carrera y querer llegar lejos, pero si no sabes balancear las cosas al final cuando llegues a lo que tu consideras el éxito, no tendrás con quien compartirlo puesto que no encontraste tiempo para compartir con quienes te apoyaron antes.</p>
<p>Para evitar caer en <a href="http://www.lawebera.es/diseno-web-freelance/administrar-tiempo-diseno-web.php" title="Administración del tiempo como diseñador web freelance (parte 1)">exceso de tiempo invertido al trabajo</a> debemos saber controlarnos, no tomas más trabajo del que podemos manejar, el número de proyectos al mismo tiempo variará dependiendo del tipo pero trata de establecerte un límite.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/diseno-web-freelance/errores-comunes-disenador-freelance-ii.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Errores comunes de un diseñador freelance, Parte 1</title>
		<link>http://www.lawebera.es/diseno-web-freelance/errores-comunes-disenador-freelance-i.php</link>
		<comments>http://www.lawebera.es/diseno-web-freelance/errores-comunes-disenador-freelance-i.php#comments</comments>
		<pubDate>Fri, 27 Jan 2012 06:32:50 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Diseño Web Freelance]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4368</guid>
		<description><![CDATA[En este artículo explicaremos algunos de los errores más comunes relacionados con el trabajo freelance, buscando una manera de evitarlos o solucionarlos y así enseñarnos a cómo mantenernos independientes.]]></description>
			<content:encoded><![CDATA[<p>Todos tenemos razones distintas para iniciar en el mundo del <a href="http://www.lawebera.es/diseno-web-freelance" title="Manual Diseño Web Freelance">diseño web freelance</a>, algunos quizás lo hagan por la necesidad de algún ingreso extra, otros por afición y algunos más por la satisfacción de no tener un horario de oficina, al final del día cualquiera de estos factores de influencia nos va a llevar a la detección una <strong>tendencia profesional</strong>, y es que las personas que se dedican al diseño freelance deben estar siempre en la punta de lanza, innovando y buscando siempre las soluciones que realmente se adecuen a sus clientes, ya que esto será la razón por la que los elegirán sobre la competencia.</p>
<p>Ya que la decisión de independizarse ha sido tomada, el destino profesional de tu carrera dependerá de ti y nada más de ti, por lo que es momento de tomar con más seriedad temas que quizás en el pasado dejabas sin analizar a profundidad o que simplemente no le correspondían a tu puesto de trabajo en la oficina. Es tiempo de empezar a estudiar sobre <strong>contratos, acuerdos, pagos, finanzas, dirección de negocios</strong> y muchas otras cosas de las que quizás no estés muy informado, pero que muy probablemente tengas una noción general.</p>
<p>Si no acatamos esto podemos caer en ciertos deslices que harán difícil nuestra <a href="http://www.lawebera.es/diseno-web-freelance/pros-contras-ser-disenador-freelance.php" title="Pros y contras de ser diseñador web freelance">permanencia en el mundo freelance</a>, cometer algunos errores que se pudieron prevenir nos puede orillar a terminar haciendo lo que menos queremos, o peor aún haciéndonos regresar a un trabajo de oficina disfrazado de independiente. En este artículo trataremos de estudiar alguno de estos errores para evitarlos.</p>
<h2>Preparación legal para ser diseñador freelance</h2>
<p>Una incorrecta o nula preparación legal puede llevar a muchos problemas que causarán más que un simple dolor de cabeza, desgraciadamente vivimos en un mundo acelerado donde las decisiones se toman a sangre fría y en cuestión de segundos, donde la gente no se tienta el corazón y si hay que tomar acciones legales en contra de alguien simplemente proceden, esto ya no es un juego de niños y por lo mismo al ser independiente te conviertes en el único representante legal de tu trabajo por lo que dicha situación se debe tomar con la debida preparación.</p>
<p>Con esto no te estamos diciendo que necesitas tener un abogado de planta, si lo puedes tener que mejor, pero sabemos que es algo que representa mucho gasto para un pequeño-mediano empresario. Lo que tratamos de aconsejar, es que <strong>busques asesoría legal en momentos clave</strong> como por ejemplo cuando se vayan a crear contratos, cláusulas de servicios o se establezcan tareas y objetivos para proyectos, de esa manera dejarás en papel y <a href="http://www.lawebera.es/diseno-web-freelance/facturar-diseno-web-sin-ser-autonomo.php" title="Facturar un diseño web sin ser autonomo">correctamente legalizado</a> el acuerdo al que llegaste con el cliente.</p>
<p>Si trabajas para empresas o compañías grandes, debes estar conciente que ellos cuestan con una amplia representación legal, si llegara a resultar algún conflicto entre ambas partes el mayor perjudicado serías tú puesto que como independiente no cuentas con el potencial económico de una corporación, por eso es mejor actuar en la prevención.</p>
<p>Muchas veces el cliente buscará tomar salidas para evitar el choque legal, puede utilizar argumentos como que se siente incómodo con el hecho de que un abogado participe en las decisiones del negocio o tratará de convencerte de que no hay necesidad de incluir abogados porque él no cuenta con uno, pero esto no te debe de importar ya que puede ser un engaño. </p>
<p>Necesitarás hacerle ver que te sientes más confiado actuando de manera legalmente correcta y así como tu no le dices como manejar su negocio, el no puede venir a indicarte como harás lo tuyo, por ello se debe llegar a un acuerdo.</p>
<h2>Firmeza y proposición de ideas</h2>
<p>En muchas ocasiones llegaremos con clientes que tengan proyectos ya muy avanzados en el proceso de planeación, o incluso ya empezados, el hecho de tomarlos o no dependerá de nuestras políticas, pero si ya nos decidimos a hacerlo debes tener siempre en consideración que <strong>tus ideas son igual de relevantes que las del cliente por lo que también merecen ser escuchadas</strong>. </p>
<p>El hecho de que el cliente tenga más conocimiento sobre el pasado del proyecto, no significa que deba saber de manera exacta lo que es mejor para éste, por lo tanto no se le debe permitir tomar todas las decisiones de manera arbitraria y mucho menos dejar que nos diga como hacer nuestro trabajo, al final el nos contrato porque necesitaba a alguien con nuestros conocimientos y como tal debemos ponerlos en práctica.</p>
<p>Si únicamente te dedicas a aceptar todo lo que el <a href="http://www.lawebera.es/diseno-web-freelance/como-evitar-malos-clientes.php" title="Cómo evitar malos clientes como diseñador web, Parte 1">cliente</a> diga, sin importar si sus requerimientos son apropiados o siquiera posibles, el resultado final será una tragedia.</p>
<p>Muchos se pueden llegar a sentir temerosos por creer que pueden ofender a alguien, o pensar en las implicaciones que puede traer el hacer respetar tus decisiones, pero el mantenerte firme te ahorrará discusiones y perdida de tiempo, tiempo que puede invertirse muy bien en un buen desarrollo del proyecto. </p>
<p>Si no quieres ser muy duro o directo desde el principio, puedes utilizar alternativas, no digas respuestas definitivas mucho menos si son de afirmación, si el cliente propone algo analízalo, si no te convenció o te parece imposible a simple vista responde con algo como &#8220;No estoy seguro que se pueda utilizar, déjame investigar y cuando tenga una respuesta te lo digo&#8221;, eso bastará para ahorrarte la ansiedad y te dará tiempo para responder después ya con la cabeza más fría.</p>
<p>Esto no se trata de demostrar quien es el más fuerte, habrá momentos en que las ideas de tu cliente serán muy buenas y tendrás que escucharlas y actuar en base a ellas, el fin es el mismo para los dos, el proyecto es en beneficio de ambos y siempre se debe actuar en equipo, sólo recuerda que el experto en diseñar y desarrollar eres tú.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/diseno-web-freelance/errores-comunes-disenador-freelance-i.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción a HTML5</title>
		<link>http://www.lawebera.es/diseno-web-html-5/introduccion-html5.php</link>
		<comments>http://www.lawebera.es/diseno-web-html-5/introduccion-html5.php#comments</comments>
		<pubDate>Wed, 25 Jan 2012 10:58:14 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Diseño Web en HTML5]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4365</guid>
		<description><![CDATA[Con este artículo damos una introducción a HTML5, la tecnología que ha venido a revolucionar la manera en que diseñamos nuestros sitios y que rescató a HTML del olvido.]]></description>
			<content:encoded><![CDATA[<p>Hasta hace un par de años para poder hablar a profundidad sobre <a href="http://www.lawebera.es/comunidad/articulos/diseno-paginas-web/html-xhtml" title="HTML y XHTML – Diseño de páginas web con HTML y XHTML ...">HTML</a> se necesitaba desempolvar libros y manuales escritos hace ya más de una década. El lenguaje de marcado, que da origen a todas las páginas web en su estructura fundamental, fue abandonado y apartado de innovación desde finales de la década de los 90s, por lo que su uso se volvió más una obligación que una solución.</p>
<p><strong>La introducción de XHTML, la adaptación de nuevos patrones y la evolución de lenguajes auxiliares como JavaScript</strong> hizo que este lenguaje pasará a oxidarse, sobreviviendo con etiquetas y declaraciones que ya no se adecuaban más a las necesidades del diseñador web, dejándolo únicamente como parte de la historia del Internet.</p>
<p>Cuando todo apuntaba a la muerte definitiva de este lenguaje surge HTML5, ganando la contienda a XHTML y trayendo de vuelta los estándares con los que la web inicio, aportando nuevos elementos, secciones y etiquetas que se incorporan de manera perfecta al tipo de páginas web que se manejan en la actualidad.</p>
<h2>Historia de HTML5</h2>
<p>Para poder comprender mejor la incursión de HTML5 al mundo de los estándares para el desarrollo web, podemos dividir el estudio de su historia en tres partes. <strong>Primero tendríamos la creación del HTML, segundo la introducción de XHTML y tercero la historia que se empezó a escribir desde que HTML5 le gana la contienda a XHTML2 como estándar oficial de la w3c</strong>.</p>
<p>Los inicios de HTML se remontan a principios de la década de los 90s, es en el año 1993 cuando se busca dar una mejor adaptación al lenguaje y se empieza a trabajar para mejorarlo, iniciando así la creación de versiones. Hasta el momento HTML cuenta con 4 versiones aprobadas y totalmente implementadas como estándares web, siendo 1997 el año en que se creó su versión más reciente, la cual aún se utiliza en la actualidad.</p>
<p>En 2004 la W3C estableció la necesidad de contar con un nuevo estándar para la web, por lo que se propuso crear una nueva versión del <a href="www.lawebera.es/xhtml-css" title="Manual XHTML">estándar XHTML</a> que se había venido utilizando desde principios de la década de los 2000s. En ese momento XHTML representó una solución para muchos de los problemas que se presentaban con HTML, permitió dar un paso importante para la evolución de otros lenguajes y <a href="www.lawebera.es/manual-de-jquery/jquery-desarrollo-web.php" title="¿Qué aporta jQuery al desarrollo web?">creación de frameworks</a>, sin embargo no era realmente utilizado por todos y no desarrollar en base a sus reglas era algo que al navegador no le importaba, por lo que la propuesta de un nuevo estándar fue necesaria y eso llevo a la primera edificación de XHTML2.</p>
<p>Por su parte empresas como <strong>Apple, Mozilla y Opera</strong> decidieron retomar el proyecto abandonado para la creación de una quinta versión de HTML, y empezaron a trabajar sobre ello para lograr una mejor compatibilidad con las tecnologías de la actualidad.</p>
<p>Fue en 2006 cuando la W3C volvió a interesarse en HTML5 y finalmente en 2007 se unió al grupo que se encontraba trabajando en esta versión, para así unificar proyectos. Sin embargo, en la W3C aún existía rechazo hacia esta versión, por lo que también se siguió trabajando en XHTML2 de forma paralela, llevando así una carrera por ser el nuevo estándar de la web.</p>
<p>El entusiasmo por XHTML2 fue desapareciendo por el lento desarrollo y HTML5 tomo mucha fuerza impulsado por las compañías que estuvieron detrás de su desarrollo, contando con varias presentaciones y sitios que fueron hechos únicamente para mostrar su potencial, finalmente en 2009 no se renueva el proyecto para desarrollar XHTML2 y <strong>en 2010 se da la popularización de HTML5</strong>.</p>
<h2>Características de HTML5</h2>
<p>A diferencia de las primeras versiones de este lenguaje, ningún navegador fue hecho especificamente para interpretarlo, es decir, en la actualidad <strong>todos los navegadores soportan a cierto grado este lenguaje</strong> pero no existe alguno que fuera hecho en exclusiva para lograr su completo funcionamiento, esto provoca ventajas y desventajas, por el hecho de que el usuario puede continuar utilizando su navegador sin necesidad de cambiarlo pero puede que la experiencia que le deje HTML5 no sea la adecuada.</p>
<p>Esta falta de garantía de visualización correcta, hace que muchos diseñadores se preocupen por ofrecer diversas versiones para que el sitio pueda presentarse de manera correcta, por ello se dan a la búsqueda y creación de miles de técnicas para lograr la adaptación, todo en pro del uso de HTML5 en sus sitios y así poder ir probando el estándar mientras llega a su proceso de maduración.</p>
<p>Entre las características principales de HTML5 encontramos cambios drásticos en el marcado y la estructura de los sitios, se incluye nuevos elementos que aumentan el valor semántico de nuestro código, los <a href="http://www.lawebera.es/diseno-web-html-5/validar-formularios-html5-css3.php" title="Validar formularios con HTML5">formularios son optimizados</a> y su validación se vuelve más sencilla, se incluye el soporte a elementos de tipo audio y video sin tener que recurrir a plugins o <a href="http://www.lawebera.es/manual-flash/flash-y-su-no-tan-lejano-futuro.php" title="Flash y su quizás no tan lejano futuro">flash</a>. Es en este grupo donde se encuentran las características que más soporte tienen en los navegadores actuales.</p>
<p>También existen otras características que si bien son parte del estándar, necesitan de la implementación de otros lenguajes como JavaScript para un correcto funcionamiento, tal es el caso del almacenaje local, funcionamiento offline de las aplicaciones y mensajería. Estos son temas un poco más avanzados por lo que trataremos de verlos a fondo más adelante.</p>
<p>A la par con HTML5 se han venido desarrollando otra clase estándares que van de la mano con esta versión y aumentan la genealidad de los diseños web, tal es el caso del <a href="http://www.lawebera.es/comunidad/articulos/diseno-paginas-web/css/novedades-css3.php" title="Novedades CSS3">lenguaje CSS3</a>, imágenes SVG2 y la geolocalización, los cuales han causado que en más de una ocasión se les considere como características de HTML5, sin embargo son proyectos totalmente independientes que se han aunado al progreso producido en forma de conjunto.</p>
<p>A lo largo de este manual trataremos de ir analizando cada una de estas características y adentrarnos por completo al estudio de este nuevo estándar que ha maravillado a la comunidad de la Web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/diseno-web-html-5/introduccion-html5.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creación de formularios con XHTML y CSS: accesibilidad y estilo</title>
		<link>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iv.php</link>
		<comments>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iv.php#comments</comments>
		<pubDate>Thu, 19 Jan 2012 08:05:00 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Manual de XHTML y CSS]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4360</guid>
		<description><![CDATA[Última parte de nuestro estudio sobre formularios, en este artículo especificamos como optimizar la accesibilidad y el estilo de nuestros elementos form.]]></description>
			<content:encoded><![CDATA[<p>Una vez que hemos logrado estudiar y acoplar <a href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-ii.php" title="Creación de formularios con XHTML y CSS: tipos de input">cada elemento</a> que forma parte de la <a href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iii.php" title="Creación de formularios con XHTML y CSS: textarea y select">estructura XHTML</a> de un formulario, es tiempo de pasar a tratar con temas un poco menos ligados al funcionamiento básico y más relacionados con lograr una posible optimización. En este artículo estudiaremos la manera de volver más accesible nuestro formulario y de darle un estilo que se adecue a las necesidades del sitio donde lo presentamos, tratando de dar una mejor experiencia a las personas que harán uso de él.</p>
<h2>Formularios HTML accesibles</h2>
<p>La sensibilidad por el usuario es lo primero que debemos tener en cuenta para lograr un <a href="www.lawebera.es/de0/accesibilidad.php" title="Accesibilidad web">diseño accesible</a>, debemos considerar siempre ofrecer un formulario cuyos campos se encuentren bien espaciados y con etiquetas &#8220;label&#8221; que estén claramente asociadas a ellos, para así permitirle al usuario realizar sus tareas de manera mucho más fácil y sencilla, dando oportunidad incluso para que personas con alguna incapacidad visual puedan interactuar con el formulario.</p>
<p>No debemos olvidarnos de etiquetas como <strong>&#8220;optgroup&#8221;</strong> que nos permiten segmentar y agrupar grandes listados, o como <strong>&#8220;fieldset&#8221;</strong> que nos ayudará a crear una división al interior de la forma, obteniendo una mejor visualización y permitiendo una mejor asistencia.</p>
<p>Algunos otros aspectos que podemos tomar en cuenta para este tema ya fueron analizados en otros artículos, tal es el caso de los <strong>atributos &#8220;tabindex&#8221; y &#8220;accesskey&#8221;</strong> que permiten aumentar la accesibilidad a los campos &#8220;input&#8221;, &#8220;textarea&#8221; y &#8220;select&#8221;, ya que ayudan a la navegación de aquellos que no utilizan un dispositivo de señalización, como un mouse.</p>
<p>Los <strong>atributos de descripción</strong> suelen ser muy importantes en estas situaciones, si el usuario se siente confundido al momento de estar llenando el formulario puede recurrir a ellos para obtener una mejor explicación del contenido que debe tener el campo. De igual manera se puede hacer uso del atributo &#8220;value&#8221; de cada campo, para dar un valor por defecto que explique mejor la manera en que se debe de llenar.</p>
<h3>Uso de etiquetas &#8220;label&#8221;</h3>
<p>Todos los elementos que van a tomar parte de un formulario deben de ir siempre acompañados por un <strong>elemento de tipo &#8220;label&#8221;</strong>, al menos de que la interfaz del sitio demande lo contrario. El lograr esto es muy sencillo, sin embargo a muchos les puede resultar sin sentido, es claramente necesario tener un elemento que indique el contenido que debe de ir dentro del campo que tenemos, muchos hacen uno de texto común con etiquetas como &#8220;span&#8221; o &#8220;p&#8221;, sin embargo la relevancia que toma &#8220;label&#8221; se debe a que se puede establecer una asociación inmediata con el campo del formulario.</p>
<p>Un elemento de tipo &#8220;label&#8221; establece un enlace explícito, con una etiqueta de creación de campos, mediante el <strong>atributo &#8220;for&#8221;</strong> que permite asociar dicho elemento con el &#8220;id&#8221; del campo. Si tuviéramos un campo para un nombre podríamos asociarlo con un &#8220;label&#8221; de la siguiente manera:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;label for=&quot;nombre_form&quot;&gt;Nombre:&lt;/label&gt;
&lt;input name=&quot;nombre&quot; id=&quot;nombre_form&quot; /&gt;
</pre>
<p>En el ejemplo utilizamos distintos valores para los atributos &#8220;id&#8221; y &#8220;name&#8221;, pero generalmente se utiliza el mismo, el cambio en nuestro ejemplo fue hecho con propósitos de demostrar la manera en que funcionaba el atributo &#8220;for&#8221;.</p>
<p>Esta asociación establecida permite aumentar la usabilidad, ya que al momento de dar clic sobre la &#8220;label&#8221; el puntero se colocará automáticamente sobre el campo del formulario al que se encuentra asociado. En el caso de las casillas de verificación y los botones de tipo radio, al momento de dar clic la opción a la que esta asociado el label se marca como seleccionada.</p>
<h2>Estilización del formulario con CSS</h2>
<p>Uno de los problemas más frecuentes que se presentan al momento de desarrollar un formulario, se da al buscar un estilo uniforme para todos los campos. La dificultad se presenta por el hecho de que todos los navegadores despliegan de manera distinta los campos, además de que según el sistema operativo que estemos utilizando es la manera en que se visualizarán <a href="http://www.lawebera.es/como-hacer/ejemplos-css/crear-botones-con-css3.php" title="Botones con CSS3">los botones</a> e incluso las fuentes.</p>
<p><a href="www.blog.lawebera.es/index.php?s=bordes" title="Bordes">Los bordes</a> de los campos del formulario son deliberadamente hechos para hacer que el elemento se mire de manera tridimensional, como son parte ya del sistema operativo, estos campos fueron diseñados para ser visualizados en un programa más que en una página de internet, por lo que se tuvo que aplicar estilos que sugirieran una interacción con los campos, y por ello se recurrió a una visualización muy arcaica pero concisa, indicando cuales campos son para rellenar y cuales otros para aplicarles una acción.</p>
<p>Para evitar caer en una desuniformidad y modificar los estilos por defecto, <strong>el uso de CSS se ha vuelto fundamental</strong>, y gracias a él podemos cambiar los bordes, las fuentes y los fondos para llegar a un estilo que se adecue más a lo que queremos mostrar en nuestro sitio.</p>
<h3>Bordes</h3>
<p>Quizás la manera más rápida y sencilla de modificar radicalmente la apariencia de un <a href="http://www.lawebera.es/como-hacer/ejemplos-html-xhml/10-consejos-mejorar-formularios.php" title="10 sencillos consejos para mejorar tus formularios">formulario</a> es cambiando los bordes de los campos que en él se despliegan; para ello tenemos que hacer uso de la <strong>propiedad CSS &#8220;border&#8221;</strong>, que nos permitirá cambiar el tipo de borde, su color y tamaño. Si quisiéramos por ejemplo tener un borde de tipo sólido, color gris y con 1 píxel de anchura, basta con utilizar una sentencia como esta:</p>
<pre class="brush: css; title: ; notranslate">
input, textarea { border: 1px solid #333 }
</pre>
<p>Esto se aplicará a todos los elementos de tipo &#8220;input&#8221; y &#8220;textarea&#8221; que tengamos en el formulario, y hará que luzcan un borde algo delgado y sin nada tridimensional. En cambio, si quisiéramos apegarnos más al estilo original pero cambiando los colores, podemos utilizar la propiedad <strong>&#8220;border-color&#8221; con un valor para cada sección</strong>, como se muestra aquí:</p>
<pre class="brush: css; title: ; notranslate">
input, textarea {
border: 1px solid;
border-color: #333 #666 #666 #333;
}
</pre>
<p>En cuanto a lo que bordes para cajas de selección se refiere, estos se ven más limitadas por parte de los navegadores, aunque en la actualidad estos problemas han tendido a reducirse. Lo mismo puede ocurrir con las casillas de verificación y los botones de tipo radio, su estilo puede permanecer diferente al resto de los bordes que manejamos.</p>
<h3>Fuentes</h3>
<p>Podemos especificar el tipo de fuente con la que se va a desplegar el texto dentro de cada campo del formulario, y para ello basta con recurrir a la <strong>propiedad &#8220;font&#8221; de CSS</strong>. Al igual que con el resto de los elementos donde podemos aplicar esta propiedad, el color y el tamaño son aspectos elegibles.</p>
<pre class="brush: css; title: ; notranslate">
input, textarea { font: 10px arial }
</pre>
<p>Es recomendado realizar una especificación de <a href="www.blog.lawebera.es/probar-tipografias-tipos-de-letras" title="Probar tipografías">fuente uniforme</a> para todos los elementos del formulario, ya que por defecto los elementos &#8220;textarea&#8221; muestran el texto contenido con una fuente de tipo &#8220;Courier&#8221; mientras que los &#8220;input&#8221; hacen uso de fuentes &#8220;sans-serif&#8221;.</p>
<h3>Fondo</h3>
<p>El último aspecto relevante que se puede modificar para resaltar o dar un estilo distinto a los elementos, es el fondo. Por lo general esta propiedad, representada por <strong>&#8220;background&#8221;</strong>, es tratada con mucho respesto y sólo se utiliza en casos donde la interfaz lo amerite.</p>
<p>Cambiar el fondo de un campo puede mejorar su usabilidad y <a href="www.lawebera.es/de0/accesibilidad2.php" title="Hacer un sitio web accesible. Accesibilidad">accesibilidad</a>, pero debemos elegir correctamente la combinación entre color de letra y fondo del campo para no aturdir o dejar pasmado al usuario.</p>
<p>Un uso muy práctico del cambio de fondo se puede hacer en conjunto con el <strong>evento &#8220;focus&#8221;</strong> mediante CSS, así podemos cambiar el fondo del campo únicamente cuando el usuario se encuentre posicionado sobre él:</p>
<pre class="brush: css; title: ; notranslate">
input:focus, textarea:focus { background: #ccc }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iv.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creación de formularios con XHTML y CSS: textarea y select</title>
		<link>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iii.php</link>
		<comments>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iii.php#comments</comments>
		<pubDate>Tue, 17 Jan 2012 06:19:54 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Manual de XHTML y CSS]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4339</guid>
		<description><![CDATA[Tercera parte de nuestro estudio sobre los formularios, estudiamos los elementos de tipo textarea y select, etiquetas que vienen a completar el trinomio de sentencias básicas para creación de elementos en formularios.]]></description>
			<content:encoded><![CDATA[<p>Continuamos con el estudio de las sentencias esenciales para <a title="crear formularios con html y css" href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-i.php">crear elementos de formulario</a>, después de haber estudiado a detalle la <a title="Creación de formularios con XHTML y CSS: tipos de input" href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-ii.php">etiqueta &#8220;input&#8221; y sus distintos tipos</a>, es tiempo de empezar a analizar el resto de etiquetas básicas que existen, con ello nos referimos a <strong>&#8220;textarea&#8221; y &#8220;select&#8221;</strong>, que si bien no son tan versátiles y diversas como &#8220;input&#8221;, representan gran importancia para el desarrollo de formularios.</p>
<h2>Elemento &#8220;textarea&#8221; de HTML</h2>
<p>A diferencia de las múltiples opciones y configuraciones que se pueden presentar en un elemento &#8220;input&#8221;, &#8220;textarea&#8221; representa una sentencia sencilla con un uso simple y directo, <strong>aceptar y desplegar grandes cantidades de texto que después se mandarán al servidor para su procesamiento</strong>.</p>
<p>En muchas ocasiones los campos definidos mediante esta etiqueta son utilizados como una alternativa al &#8220;input&#8221; de tipo &#8220;text&#8221;, para así poder introducir más de una línea de texto en el campo, pero su uso se debe de enfocar para datos que realmente necesitan líneas múltiples como es una dirección, algún comentario, un resumen, entre otras cosas.</p>
<p>El elemento &#8220;textarea&#8221; cuenta con una etiqueta de apertura y otra de clausura, y el texto que depositemos entre esas dos etiquetas será el que se mostrará en el elemento al momento de visualizarse en la interfaz. Si quisiéramos introducir una área de texto cuyo contenido sea &#8220;Inserta tu resumen aquí&#8221; haríamos lo siguiente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;textarea name=&quot;resumen&quot; rows=&quot;10&quot; cols=&quot;20&quot;&gt;Inserta tu resumen aquí&lt;/textarea&gt;
</pre>
<p>Tal como en el tipo &#8220;text&#8221; de &#8220;input&#8221;, <strong>el hecho de introducir un texto antes de que el usuario lo haga, es meramente por fines informativos y de instrucción</strong>, en caso de que el usuario olvide introducir un texto o simplemente mande el formulario con el texto insertado por defecto es deber de nosotros validar dicha información para no obtener datos erróneos. Otra desventaja que representa el introducir un texto por defecto, es el hecho de que requiere más trabajo por parte del usuario, ya que necesita borrar el texto antes de introducir el suyo, aunque para evitar esto se puede hacer uso de una instrucción sencilla de JavaScript que borre el texto justo al momento en que el usuario de clic en el área de texto.</p>
<p>Pos <a title="Manual XHTML y CSS" href="www.lawebera.es/xhtml-css">disposición de XHTML</a> los <strong>atributos &#8220;rows&#8221; y &#8220;cols&#8221;</strong> son totalmente obligatorios, estos ayudarán a definir el tamaño del área de texto que vamos a mostrar, esto modifica en principio la altura y anchura del elemento pero después puede ser modificado mediante el <a title="Maquetación de un formulario en XHTML y CSS" href="http://www.lawebera.es/maquetacion-web/maquetacion-formulario-xhtml-y-css.php">uso de CSS</a>. En nuestro ejemploe stamos dando un número de 10 filas de alto y 20 columnas de ancho.</p>
<h2>Elemento &#8220;select&#8221; de HTML</h2>
<p><strong>La etiqueta &#8220;select&#8221; es utilizada para definir elementos que se presentan en forma de lista ante el usuario</strong>, lo que generalmente despliega un menú tipo drop-down donde se debe elegir una de las opciones y su valor será el que se envíe para el procesamiento del lado servidor. Si bien este es el comportamiento considerado comúnmente como normal, también existe la posibilidad de crear elementos &#8220;select&#8221; de tipo múltiple, permitiéndole al usuario elegir más de una opción.</p>
<p>Para definir la opciones dentro del menú de selección debemos recurrir a otra etiqueta la cual lleva por nombre <strong>&#8220;option&#8221;</strong>. Cada opción que queramos desplegar deberá de ir entre una etiqueta &#8220;option&#8221; de apertura y otra de clausura, si por ejemplo quisiéramos definir una lista de países haríamos lo siguiente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;select name=&quot;pais&quot;&gt;
    &lt;option&gt;Argentina&lt;/option&gt;
    &lt;option&gt;España&lt;/option&gt;
    &lt;option&gt;México&lt;/option&gt;
    &lt;option&gt;Venezuela&lt;/option&gt;
&lt;/select&gt;
</pre>
<p>Con la estructura utilizada en el ejemplo, el valor que se enviará al momento de mandar toda la <a title="Creación de formularios con XHTML y CSS: Parte 1" href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-i.php">información del formulario</a> al servidor será el contenido de la opción que seleccionamos, si seleccionamos la tercera opción entonces &#8220;México&#8221; es el valor que se le dará al elemento &#8220;pais&#8221;. En caso de no desear este comportamiento, podemos utilizar el <strong>atributo &#8220;value&#8221;</strong> para modificar el valor que se mandará para el procesamiento, si en lugar de &#8220;México&#8221; queremos mandar la abreviación &#8220;mx&#8221; podemos hacer lo siguiente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;option value=&quot;mx&quot;&gt;México&lt;/option&gt;
</pre>
<p>Se puede establecer una opción seleccionada por defecto mediante el <strong>atributo &#8220;selected&#8221;</strong>, esto nos permite tener siempre un valor al momento de que el usuario envíe el formulario y evitar falta de información.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;option value=&quot;mx&quot; selected=&quot;selected&quot;&gt;México&lt;/option&gt;
</pre>
<p><strong>&#8220;optgroup&#8221;</strong> es otra etiqueta que se puede utilizar dentro de un &#8220;select&#8221;, es poco utilizado pero representa gran utilidad cuando se requiere seccionar una lista de opciones que es muy grande. Tomemos como referente el ejemplo que hemos venido manejando, en caso de que queramos segmentar mejor nuestra lista podemos agrupar los países por continente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;select name=&quot;pais&quot;&gt;
    &lt;optgroup label=&quot;América&quot;&gt;
        &lt;option&gt;Argentina&lt;/option&gt;
        &lt;option&gt;México&lt;/option&gt;
        &lt;option&gt;Venezuela&lt;/option&gt;
    &lt;/optgroup&gt;
    &lt;optgroup label=&quot;Europa&quot;&gt;
        &lt;option&gt;España&lt;/option&gt;
        &lt;option&gt;Italia&lt;/option&gt;
        &lt;option&gt;Portugal&lt;/option&gt;
    &lt;/optgroup&gt;
&lt;/select&gt;
</pre>
<p>Como ya mencionamos esta es la manera predeterminada para mostrar un elemento &#8220;select&#8221;, pero existe la opción de hacerlo de selección múltiple mediante los <strong>atributos &#8220;size&#8221; y &#8220;multiple&#8221;</strong>. Al momento de hacer uso del atributo &#8220;size&#8221; el menú drop down desaparece y se muestran las opciones dentro de un cuadro, el cual desplegará una barra de desplazamiento en caso de que su tamaño no cubra todas las opciones.</p>
<p>Por su parte el atributo &#8220;multiple&#8221; permite que dentro de esta caja podamos seleccionar todas las opciones que deseemos, esto se logra oprimiendo la <strong>tecla Ctrl</strong> y después dando clic en la opción del menú sin soltarla. Nuestro código final lucirá de la siguiente manera:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;select name=&quot;pais&quot; size=&quot;8&quot; multiple=&quot;multiple&quot;&gt;
    &lt;optgroup label=&quot;América&quot;&gt;
        &lt;option&gt;Argentina&lt;/option&gt;
        &lt;option&gt;México&lt;/option&gt;
        &lt;option&gt;Venezuela&lt;/option&gt;
    &lt;/optgroup&gt;
    &lt;optgroup label=&quot;Europa&quot;&gt;
        &lt;option&gt;España&lt;/option&gt;
        &lt;option&gt;Italia&lt;/option&gt;
        &lt;option&gt;Portugal&lt;/option&gt;
    &lt;/optgroup&gt;
&lt;/select&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iii.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detección y Soporte de navegadores para HTML5</title>
		<link>http://www.lawebera.es/diseno-web-html-5/detectar-soporte-navegadores-html5.php</link>
		<comments>http://www.lawebera.es/diseno-web-html-5/detectar-soporte-navegadores-html5.php#comments</comments>
		<pubDate>Mon, 16 Jan 2012 10:15:23 +0000</pubDate>
		<dc:creator>Verónica Milán</dc:creator>
				<category><![CDATA[Diseño Web en HTML5]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4343</guid>
		<description><![CDATA[Recursos y herramientas para detectar el soporte de navegadores de las nuevas etiquetas y funciones HTML5. Usemos desde hoy las novedades que nos trae HTML5.]]></description>
			<content:encoded><![CDATA[<p>La gran pregunta con relación al desarrollo de la última versión HTML es: todas las <a title="novedades del diseño web con html5" href="http://www.lawebera.es/diseno-web/diseno-web-en-html5.php">novedades de HTML5</a> ¿serán soportadas de inmediato por los navegadores más usuales? ¿O tendremos la pesada tarea de una doble codificación que contemple también a aquellos navegadores que no se han actualizado?</p>
<p>La respuesta es mucho más sencilla que la solución. Existe una batalla en la puesta a punto de las herramientas de navegación. Nadie quiere quedarse atrás en el <strong>soporte de HTML5</strong> y en breve tendremos grandes novedades referentes a nuevas versiones de Internet Explorer, Mozilla Firefox, Google Chrome y los demás populares navegadores.</p>
<p>Mientras tanto, nos encontramos en medio de una transición durante la cual muchas de las nuevas etiquetas, atributos, <a title="fundamentos de html5" href="http://www.lawebera.es/diseno-web-html-5/fundamentos-html5.php">características de HTML5</a>, serán procesadas por unos y no por otros.</p>
<p>Aquí trataremos de hacerte llegar alguna información útil para la detección de la compatibilidad de los navegadores, así como dónde investigar la situación de algunos de ellos en cuanto al soporte HTML5 para poder <a title="diseño web con html5" href="http://www.lawebera.es/diseno-web/diseno-web-en-html5.php">diseñar con HTML5</a> hoy.</p>
<p>Existen varios métodos para detectar la compatibilidad de un navegador dado con las nuevas etiquetas o atributos de HTML5. Pasaremos a mencionar algunos de ellos.</p>
<h2>Detectar soporte HTML5 mediante JavaScript</h2>
<p>Tal y como se explica en <a href="http://diveintohtml5.info/detect.html">Dive into HTML5</a>, una de las posibilidades es crear un elemento a través de una etiqueta y luego verificar por JavaScript si uno de sus atributos realmente existe. En caso negativo, significará que el navegador no soporta la etiqueta y/o el nuevo atributo.</p>
<pre class="brush: jscript; title: ; notranslate">
function soporteCanvas() {
return !!document.createElement('canvas').getContext; }
if (soporteCanvas) {
// preparemos una animación
} else {
// lo lamento, no hay soporte Canvas }
</pre>
<p>La detección a través de esta función u otra similar, se basa en el hecho de que –aun cuando el navegador no soporte las nuevas etiquetas- el objeto, conocido o desconocido por el navegador, se almacena en su repositorio de memoria.</p>
<p>Sin embargo, cuando se alude a un atributo, en este caso <em>getContext</em>, el proceso genera un resultado negativo, es decir, una respuesta <em>false</em>. De igual manera puede verificarse el soporte de otras funciones propias de HTML5, como la nueva función de video.</p>
<pre class="brush: jscript; title: ; notranslate">
function soporte_video() {
return !!document.createElement('video').canPlayType;
}
if (soporte_video()){
// Este navegador soporta video HTML5
} else {
// No lo soporta, podríamos utilizar Flash
}
</pre>
<h2>Una Biblioteca para Detectar la Compatibilidad: modernizr</h2>
<p>Para hacernos la vida más fácil y evitar que debamos desarrollar tantos <em>script</em> de detección, ya existe una extensa biblioteca de código abierto con funciones JavaScript, llamada <a href="http://www.modernizr.com/">Modernizr</a>.</p>
<p>Al usar esta librería no sólo podremos detectar la compatibilidad con HTML5, sino también el soporte a variadas propiedades CSS. Para cargar todas las funciones de Modernizr es necesario escribir el código que las active. Este código debe incluirse dentro del <em>&lt;head&gt;</em>de tu página web.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;modernizr.min.js&quot;&gt;&lt;/script&gt;
</pre>
<p>A partir de aquí ya estarás en condiciones de verificar las posibilidades de tu navegador en cuanto a, en este caso, su <strong>compatibilidad con HTML5</strong>. Algunas de las funciones son éstas: <em></em></p>
<p><em>Para verificar soporte canvas.</em></p>
<pre class="brush: jscript; title: ; notranslate">
if (Modernizr.canvas) {
// ahora podemos generar algunos gráficos
} else {
// lástima, no hay Canvas en este navegador
}
</pre>
<p><em>Para detectar soporte de video.</em></p>
<pre class="brush: jscript; title: ; notranslate">
if (Modernizr.video) {
// colguemos una película en nuestra página
} else {
// creo que debemos optar por Flash
}
</pre>
<p><em>Para verificar el soporte del tipo de input “range”, que permite crear un deslizador.</em></p>
<pre class="brush: jscript; title: ; notranslate">
If (!Modernizr.inputtypes.range) {
$(document).ready(initSlider);
};
</pre>
<p>En este último caso, si el navegador no soporta “range”, optamos por cargar la función <em>initSlider</em> a nuestro documento de jQuery, de forma tal que al cargar la página la función cumpla con el objetivo de mostrar el <em>slider</em> o deslizador.</p>
<p>Así, podemos utilizar funciones Modernizr para revisar todos los nuevos tipos de <em>input</em> de HTML5.</p>
<p>Como se ve, será muy interesante analizar todas las funciones que brinda Modernizr, una herramienta fantástica que nos ahorrará mucho tiempo en cuanto a la detección de compatibilidad con HTML5.</p>
<h2>Otros Recursos y Herramientas Útiles</h2>
<p>Mientras buscamos la forma de utilizar todas las novedades de HTML5 y adaptarnos en aquellos casos en que no logremos el soporte, ya hay quienes realizan estadísticas actualizadas sobre el tema.</p>
<p>En el sitio <em><a href="http://www.caniuse.com/">caniuse.com</a></em> podrás tener acceso a información actualizada sobre el soporte de los navegadores, no sólo con relación a HTML5 sino también con respecto a CSS, APIs JS y otras herramientas de <a title="diseño web" href="http://www.lawebera.es/diseno-web">diseño de páginas web</a>. Las tablas de compatibilidad incluyen el desempeño de Internet Explorer, Firefox, Chrome, Safari, Opera, Android Browser. Tienen muy buena presentación y se actualizan tal como los nuevos tiempos lo requieren.</p>
<p>Además, ya existen páginas que nos permiten probar nuestra codificación HTML5 por anticipado y detectar el soporte. Dos de ellas son:</p>
<p>The TryIt Editor (<a href="http://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic">http://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic</a>)<br />
Rendera (<a href="http://rendera.heroku.com/">http://rendera.heroku.com/</a>)</p>
<p>Ambos servicios en línea son gratuitos y siguen el mismo principio: una ventana hacia la izquierda donde escribirás el código, y una a la derecha donde verás los resultados del mismo. Una forma interesante de saber si tu navegador soporta la nueva codificación antes de generar tu página.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/diseno-web-html-5/detectar-soporte-navegadores-html5.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creación de formularios con XHTML y CSS: tipos de input</title>
		<link>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-ii.php</link>
		<comments>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-ii.php#comments</comments>
		<pubDate>Fri, 13 Jan 2012 06:22:13 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Manual de XHTML y CSS]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4328</guid>
		<description><![CDATA[Segunda parte de nuestro estudio sobre los formularios, en esta ocasión deslgozamos a los elementos de tipo input, etiqueta de uso más frecuente en formularios.]]></description>
			<content:encoded><![CDATA[<p>Como mencionábamos en el <a title="Creación de formularios con HTML y CSS" href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-i.php">artículo anterior</a> la existen tres etiquetas básicas para definir todos los elementos que toman parte en un formulario, <strong>&#8220;input&#8221;, &#8220;textarea&#8221; y &#8220;select&#8221;</strong>, en este artículo trataremos de estudiar a detalle la primera de estas etiquetas y analizar la definición de elementos mediante ella.</p>
<h2>Etiqueta &#8220;input&#8221;</h2>
<p>Esta etiqueta es la madre de todas, gracias a su uso podemos crear diferentes tipos de elementos de formulario, desde cajas de texto hasta botones radio, casillas de selección, entre otros. Todo esto es gracias a su atributo &#8220;type&#8221; de la etiqueta, ya que será el que nos va ayudar a especificar el tipo de campo y diferenciar su función del resto que utiliza &#8220;input&#8221; como etiqueta de declaración.</p>
<p>Existen 10 valores posibles para el <strong>atributo &#8220;type&#8221; del elemento &#8220;input&#8221;</strong>, estos definirán una función específica para el campo. <strong>El más común de estos valores es &#8220;text&#8221;</strong>, al dar este valor al atributo estamos indicando que el campo será una caja de texto que contendrá una línea sencilla.</p>
<p>Otros de los valores comunes son <strong>&#8220;password&#8221;</strong> que agrega una caja cuyo texto es protegido, es decir no se perciben los caracteres como tal, también encontramos el valor <strong>&#8220;checkbox&#8221;</strong> que sirve para crear casillas de selección, el valor <strong>&#8220;radio&#8221;</strong> crea botones de tipo radio generalmente utilizado para seleccionar una de varias opciones, y el valor <strong>&#8220;hidden&#8221;</strong> que oculta el campo para que no sea visible en la interfaz.</p>
<p>El resto de los valores que puede tomar el atributo son <strong>&#8220;submit&#8221;</strong> que crea un botón para mandar la información del formulario, <strong>&#8220;reset&#8221;</strong> que añade un botón que regresa todos los campos a su estado original, <strong>&#8220;file&#8221;</strong> que agrega la funcionalidad de elegir archivos, <strong>&#8220;image&#8221;</strong> que sirve para indicar las coordenadas donde se dio clic a una imagen y <strong>&#8220;button&#8221;</strong> que sirve para crear <a title="Botones con CSS3" href="www.blog.lawebera.es/botones-web-con-css3/">botones</a> que no necesariamente tienen que mandar información.</p>
<h3>Valor &#8220;text&#8221;</p>
<input type="text" /></h3>
<p><strong>Este es el valor predeterminado de la etiqueta &#8220;input&#8221;</strong>, por lo que no es necesario especificarlo literalmente en el atributo. Su función es manejar piezas cortas de información textual, ya sea el nombre o apellido del usuario, un correo electrónico, algún número de tarjeta o de pago.</p>
<p>En conjunto con este valor podemos utilizar otros atributos como <strong>&#8220;maxlength&#8221;</strong>, el cual limita el número de caracteres que se pueden escribir en el cuadro de texto. Si por ejemplo quisiéramos una caja de texto en línea sencilla que únicamente permita incluir 6 caracteres definiríamos una línea como la siguiente en el código:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;text&quot; maxlength=&quot;10&quot; /&gt;
</pre>
<p>También podemos incluir un valor por defecto en nuestra caja, si quisiéramos mostrar una palabra o incluir siempre el mismo valor para evitar que se olvide el llenado de este campo, para ello existe el <strong>atributo &#8220;value&#8221;</strong>. Si a nuestro campo declarado le queremos dar como valor predeterminado la palabra &#8220;La Webera&#8221; haremos lo siguiente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;text&quot; maxlength=&quot;10&quot; value=&quot;La Webera&quot; /&gt;
</pre>
<h3>Valor &#8220;password&#8221;</p>
<input type="password" /></h3>
<p>Este valor es muy similar a &#8220;text&#8221; con la única diferencia de que <strong>el texto se muestra de manera protegida</strong>, es decir veremos un conjunto de puntos negros en lugar de los caracteres que introducimos. La encriptación se hace con la intención de proteger <a title="Crea contraseñas seguras para tu página web" href="http://www.blog.lawebera.es/crea-contrasenas-seguras-para-tu-pagina-web/">la contraseña</a> que el usuario esta introduciendo, de esa manera únicamente él sabrá que escribió en el campo y alguno que otro fisgón no podrá obtenerla a simple vista.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;password&quot; name=&quot;contrasena&quot; maxlength=&quot;20&quot; /&gt;
</pre>
<h3>Valor &#8220;checkbox&#8221;</p>
<input type="checkbox" /></h3>
<p>Este valor permite crear casillas de selección, las cuales son comúnmente utilizadas para indicar cuando un elemento es el adecuado o inadecuado, cuando se desea ignorar o resaltar alguna opción, o simplemente cuando se requiere hacer una selección múltiple.</p>
<p>Al momento de declarar este valor el campo input cambia de forma, ya no será una caja de texto, será un recuadro que podemos seleccionar y al dar clic sobre él un signo de correcto aparecerá. Al momento de enviar el formulario todas aquellas casillas que esten seleccionadas serán enviadas para su procesamiento, en cambio aquellas que no lo estén simplemente serán ignoradas.</p>
<p>Por defecto todas las casillas están deseleccionadas, en caso de que quieras que algunas aparezcan seleccinadas debes añadir el <strong>atributo &#8220;checked&#8221;</strong> de la siguiente manera:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;checkbox&quot; name=&quot;opcion&quot; checked=&quot;checked&quot; /&gt;
</pre>
<p>Si el elemento &#8220;input&#8221; no cuenta con un <strong>atributo &#8220;value&#8221;</strong> entonces lo que se enviará para procesarse es el &#8220;name&#8221;, pero en caso de contar con &#8220;value&#8221; esto será lo que el servidor recibirá para utilizarse.</p>
<h3>Valor &#8220;radio&#8221;</p>
<input type="radio" /></h3>
<p>Los botones de tipo radio son muy similares a las casillas de selección, pero a diferencia de estas, lo que se busca con estos elementos es que únicamente se seleccione una opción entre varias. Para ello se le da el mismo nombre a un grupo de botones radio y de esa manera cuando uno de los radios es seleccionado el resto se deselecciona automáticamente.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;radio&quot; name=&quot;pais&quot; value=&quot;mexico&quot; checked=&quot;checked&quot; /&gt;
&lt;input type=&quot;radio&quot; name=&quot;pais&quot; value=&quot;espana&quot; /&gt;
&lt;input type=&quot;radio&quot; name=&quot;pais&quot; value=&quot;chile&quot; /&gt;
</pre>
<p>En esta ocasión el atributo &#8220;value&#8221; es totalmente necesario, ya que eso es lo que identificará cada opción.</p>
<h3>Valor &#8220;hidden&#8221;</p>
<input type="hidden" /></h3>
<p>Para propósitos de interfaz este valor puede sonar algo absurdo o innecesario, pero para cuestiones de manejo de información y procesamiento del lado servidor puede ayudar mucho, ya que nos permite añadir información al formulario sin permitir que el usuario pueda observarla y por lo tanto modificarla.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;hidden&quot; name=&quot;numcliente&quot; value=&quot;13456yui89&quot; /&gt;
</pre>
<p>Esta información puede provenir del <a title="Manual JavaScript. Gestión de formularios" href="www.lawebera.es/manuales/javascript/formularios.php">lado de Javascript</a> o del propio HTML por lo que una vez que los cálculos necesarios son realizados el valor se agrega al campo &#8220;input&#8221; y la información se procesa después del lado servidor.</p>
<h3>Valor &#8220;submit&#8221;</p>
<input type="submit" /></h3>
<p>La manera más fácil y común de enviar la <a title="10 sencillos consejos para mejorar tus formularios" href="http://www.lawebera.es/como-hacer/ejemplos-html-xhml/10-consejos-mejorar-formularios.php">información que fue depositada en un formulario</a> es a través de un botón de tipo &#8220;submit&#8221;. Este botón es creado mediante un elemento &#8220;input&#8221; con un valor de tipo &#8220;submit&#8221;, el cual cuando es presionado de la orden de enviar la información a la dirección indicada en el <strong>atributo &#8220;action&#8221; del elemento &#8220;form&#8221;</strong>.</p>
<p>El texto que veremos dentro de este botón variará según el navegador, ya que por defecto cada uno le da un valor distinto, por lo que es común utilizar un valor personalizado para definir dicho contenido. Si por ejemplo quisiéramos que el botón diga &#8220;Manda el formulario!&#8221; en vez del típico &#8220;Submit&#8221;, basta con hacer lo siguiente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;submit&quot; value=&quot;Manda el formulario!&quot; /&gt;
</pre>
<p>En el siguiente capítulo, veremos en detalle el <a href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-iii.php" title="formularios html: textarea y select">uso de textarea y select en formularios</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-ii.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creación de formularios con XHTML y CSS: elemento form</title>
		<link>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-i.php</link>
		<comments>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-i.php#comments</comments>
		<pubDate>Thu, 12 Jan 2012 07:51:32 +0000</pubDate>
		<dc:creator>Daniel Ernesto Navarro Herrera</dc:creator>
				<category><![CDATA[Manual de XHTML y CSS]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4315</guid>
		<description><![CDATA[Primera parte de estudio sobre los formularios. Hablamos sobre el elemento form, un elemento fundamental para el manejo de información en nuestros sitios web.]]></description>
			<content:encoded><![CDATA[<p>Es tiempo de iniciar con el estudio de uno de los elementos más importantes dentro de una estructura XHTML, <strong>los formularios</strong>. Su adición a un código permite aumentar a altos grados la interacción con el usuario, logra establecer una retroalimentación y nos da la oportunidad <strong>obtener información sobre las personas que visitan nuestro sitio</strong>, ya sea para objeto de estudio, de ventas o simplemente informativo.</p>
<p><a title="Diseño de formularios con CSS y HTML" href="http://www.lawebera.es/como-hacer/ejemplos-css/diseno-de-formularios-con-css.php">Los formularios</a> son una parte angular en casi todos los sitios comerciales que existen en Internet, por no decir que en todos, por lo que representan el elemento clave para establecer una transacción, también son fundamentales en sitios que buscan dar soluciones o respuestas a sus usuarios, ya que gracias a ellos se puede establecer una comunicación sin necesidad de tener que hacer alguna llamada o visita personal.</p>
<p>Pero su función no se ve limitada a esto, podemos explotar su potencial para incluso realizar algún tipo programación avanzada, su funcionalidad de obtener datos para después procesarlos nos da la oportunidad de realizar el número de operaciones que deseemos con la información. Dicho procesamiento se puede hacer en el backend o en el frontend de nuestro código, así las tareas pueden ir desde una sencilla calculadora realizada con JavaScript hasta un graficador hecho con PHP.</p>
<p><strong>Lo que sucede más allá del formulario ya no corresponde a XHTML ni CSS</strong>, dependerá y variará según las operaciones que el diseñador o desarrollador necesiten hacer, el uso de lenguajes o aplicaciones especializadas entra en el juego, pero esto no es parte del estudio de nuestro manual, por lo que en este artículo únicamente nos enfocaremos en <a title="10 sencillos consejos para mejorar tus formularios" href="http://www.lawebera.es/como-hacer/ejemplos-html-xhml/10-consejos-mejorar-formularios.php">estructurar nuestro formulario de manera correcta</a> dentro de nuestro documento XHTML y estilizarlo con CSS.</p>
<h2>Elemento form</h2>
<p><strong>La etiqueta &#8220;form&#8221;</strong> es la utilizada para definir un nuevo formulario dentro de nuestro código XHTML, cuenta con una apertura y contraparte de clausura, en medio de esto deber ir definido todos los campos y botones que va a tener nuestro formulario.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;form action=”webera.php” method=”post”&gt;
&lt;!-- En esta parte tendremos los campos --&gt;
&lt;/form&gt;
</pre>
<p>Como se puede observar, el campo de apertura tiene dos atributos principales, estos son <strong>&#8220;action&#8221; y &#8220;method&#8221;</strong>, el atributo &#8220;action&#8221; se encarga de decirle al navegador a que lugar mandar la información obtenida en el formulario cuando se esta se envía, es decir su valor puede ser cualquier página o script que vaya a procesar la información y hacer algo con ella. Por su parte el atributo &#8220;method&#8221; se encarga de definir la manera en que vamos a enviar esa información, para esto tenemos dos opciones básicas <strong>&#8220;get&#8221; o &#8220;post&#8221;</strong>.</p>
<p><strong>La diferencia entre &#8220;get&#8221; y &#8220;post&#8221;</strong> esta en el medio que utilizan para mandar la información, mientras que &#8220;get&#8221; utiliza la URL para mandar los datos, &#8220;post&#8221; lo hace utilizando los HTTP headers. El método default es &#8220;get&#8221; por lo que si deseas es utilizar &#8220;post&#8221; tienes que definir de manera obligatoria el valor en el atributo &#8220;method&#8221;.</p>
<p>El uso de uno u otro método variará según lo que queramos hacer, &#8220;get&#8221; representa menos seguridad para el manejo de información ya que cualquiera puede tener acceso simplemente leyendo la URL, aunque para evitar esto se puede utilizar encriptación.</p>
<h2>Campos y botones</h2>
<p>La manera en que usuario podrá añadir información a un formulario será a través de campos, los cuales varían según el tipo de información que se debe de insertar. Existen <strong>cajas de texto, botones radio, listas de selección, casillas de selección y áreas de texto</strong>, la información que se deposita en ellos la mayor parte del tiempo será enviada a través de <a title="Crear botones con propiedades CSS3" href="http://www.lawebera.es/como-hacer/ejemplos-css/crear-botones-con-css3.php">botones</a>, los cuales al recibir un evento de clic se encargan de mandar la información al destino especificado en el atributo &#8220;action&#8221; del elemento &#8220;form&#8221;.</p>
<p>Si bien existen muchos tipos de campos, las etiquetas para definirlos son básicamente tres <strong>&#8220;input&#8221;, &#8220;textarea&#8221; y &#8220;select&#8221;</strong>. El elemento <strong>&#8220;input&#8221; es el más importante de todos</strong>, ya que puede utilizarse para definir distintos campos, incluso botones, ya que su atributo &#8220;type&#8221; es el que se encarga de definir que uso darle al elemento.</p>
<h2>Identificación de los campos</h2>
<p>Si enviamos todos los datos introducidos en un formulario sin nada que los identifique, por obvias razones el procesamiento resultará defectuoso, por ello es necesario dar un registro único a cada campo para definir que es lo que contiene. Para lograr esto se utilizan atributos como <strong>&#8220;id&#8221; y &#8220;name&#8221;</strong>, que contienen un valor único y descriptivo del campo.</p>
<p><strong>El atributo &#8220;name&#8221;</strong> es el que originalmente recibía esta función de identificación, pero con las nuevas formas de programación frontend, el &#8220;id&#8221; de un elemento también puede ser recurrido para realizar la labor de diferenciación y reconocimiento del contenido. Si por ejemplo quisiéramos especificar que un campo será utilizado para introducir la edad del usuario, entonces debemos realizar lo siguiente:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input name=&quot;edad&quot; /&gt;
</pre>
<h2>Continuación&#8230;</h2>
<p>En la <a title="creación de formularios con html ycss" href="http://www.lawebera.es/xhtml-css/crear-formularios-html-css-ii.php">siguiente parte</a> de este artículo estudiaremos a detalle cada una de las etiquetas utilizadas para crear elementos de formulario, así mismo los distintos tipos existentes para el elemento &#8220;input&#8221; y más adelante estilizaremos nuestro formulario para darle una correcta presentación.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/xhtml-css/crear-formularios-html-css-i.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción a la creación de formularios con HTML5</title>
		<link>http://www.lawebera.es/diseno-web-html-5/introduccion-a-la-creacion-de-formularios-con-html5.php</link>
		<comments>http://www.lawebera.es/diseno-web-html-5/introduccion-a-la-creacion-de-formularios-con-html5.php#comments</comments>
		<pubDate>Tue, 10 Jan 2012 06:10:20 +0000</pubDate>
		<dc:creator>Verónica Milán</dc:creator>
				<category><![CDATA[Diseño Web en HTML5]]></category>

		<guid isPermaLink="false">http://www.lawebera.es/?p=4318</guid>
		<description><![CDATA[Explicamos las etiquetas fundamentales que introduce HTML5 a la creación de formularios, tales como nuevos inputs, validación de campos o elementos complejos como deslizadores.]]></description>
			<content:encoded><![CDATA[<p>Los <strong><a title="diseño de formularios con html5 y css3" href="http://www.lawebera.es/diseno-web-html-5/validar-formularios-html5-css3.php">Formularios de HTML5</a></strong> cuentan con nuevas funciones, lo que hace que ciertos problemas del lenguaje sean ahora más fáciles de resolver. Hay muchas novedades en cuanto al proceso de creación de formularios. <a title="Diseño y maquetación web en HTML5" href="http://www.lawebera.es/diseno-web-html-5"><strong>HTML5</strong></a> ofrece mejores formas para trabajar al momento de crear los formularios, agregando necesarias funciones, para las cuales JavaScript muchas veces ya no es necesario.</p>
<h2>Novedades de los formularios con HTML5</h2>
<h3>Placeholder</h3>
<p><strong>Placeholder de HTML5</strong> es una marca de posición, normalmente un texto de ejemplo que aparece ya escrito en el campo del formulario, y que desaparece cuando hacemos click en él. Suele mostrarse de un color más claro en el formulario. Antes de este nuevo atributo de HTML5 era necesario usar <a title="Manual JavaScript" href="http://www.lawebera.es/manuales/javascript">JavaScript</a>, pero ahora esto es mucho más fácil y se realiza con apenas unas simples instrucciones. Pruébalo:</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;label for=&quot;buscador&quot;&gt;Buscar:&lt;/label&gt;
  &lt;input id=&quot;buscador&quot; name=&quot;buscador&quot; type=&quot;text&quot; placeholder=&quot;Ingresa el texto a buscar&quot; /&gt;
</pre>
<p>No debes olvidar que existen<a title="compatibilidad entre navegadores - crosbrowser -" href="http://www.lawebera.es/de0/compatibilidad-web-navegadores.php"> algunos navegadores que aún no logran soportar</a> este nuevo atributo, placeholder y, por lo mismo, continúan usando JavaScript. Pero si lo que se quiere es poder brindar la misma solución a todos los usuarios que deseen experimentarla (incluídas las <a title="No a Internet Explorer 6" href="http://www.blog.lawebera.es/internet-explorer-6-no-gracias/">antiguas versiones de Internet Explorer</a>, cosa que en la mayoría de proyectos no es ni necesario), lo que se debe hacer es comprobar si tu navegador soporta esta nueva opción que brinda <strong>HTML5</strong>, de la siguiente manera:</p>
<pre class="brush: jscript; title: ; notranslate">
function soportaElem(elem, atrib) {
  var indicador = document.createElement(elem);
  if (atrib in indicador) {
  return true;
  } else {
  return false;
  }
  }
</pre>
<p>Se puede utilizar la función anterior para determinar si el navegador soporta o no el elemento placeholder, así como cualquier otro. El código devolverá un &#8220;true&#8221; o &#8220;false&#8221;, y lo utilizaremos de la siguiente manera:</p>
<pre class="brush: jscript; title: ; notranslate">
If (!soportaElem('input', 'placeholder')) {
	***incluir aquí el procedimiento JavaScript apropiado en caso de que no soporte HTML5***
}
</pre>
<h3>Autofocus</h3>
<p><strong>Autofocus de HTML5</strong> sirve para poner por defecto el foco en un campo al cargar la página. Es una importante mejora de la usabilidad, sobre todo en páginas de registroÇ/login o búsqueda, puesto que el usuario puede empezar a rellenar el formulario sin necesidad de posicionarse en el campo.</p>
<p>Aunque hasta la página más conocida, Google, es un claro ejemplo de esta novedad, no podemos obviar que el autofocus trae consigo un problema. En muchas ocasiones, si deseamos utilizar el espacio para avanzar en el formulario y ver la información inferior, el autofocus lo impide y presenta un formato lleno de espacios. Twitter eliminó el autofocus por este motivo, cuestión de examinar el proyecto y ver pros y contras. Aquí un ejemplo:</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;label for=&quot;texto_a_buscar&quot;&gt;Ingresa el texto&lt;/label&gt;
  &lt;input id=&quot;texto_a_buscar&quot; name=&quot;texto_a_buscar&quot; type=&quot;text&quot; autofocus /&gt;
</pre>
<p>Esta opción también se puede implementar con JavaScript para aquellos <a title="detectar navegadores internet explorer 6, 7 y 8" href="http://www.lawebera.es/como-hacer/ejemplos-css/detectar-uso-internet-explorer-6-7-8.php">navegadores</a> que no lo soportan en HTML5, al igual que hicimos con placeholder:</p>
<pre class="brush: jscript; title: ; notranslate">
if (!soportaElem('input', 'autofocus')) {
  document.getElementById('texto_a_buscar').focus();
  }
</pre>
<h3>Autocomplete</h3>
<p>Actualmente los navegadores pueden completar en forma automática ciertos campos de formularios. Esto último puede sonar muy útil, salvo en el caso en que se pierda el dispositivo donde están guardados esos datos.</p>
<p><strong>Autocomplete de HTML5</strong> nos ayuda a solucionar este problema, ya que la característica de autocompletado se puede definir como &#8220;on&#8221; u &#8220;off&#8221;, y de esta manera se evitan algunos problemas, o bien se facilita el completado del formulario. Incluso se puede desactivar el autocomplete de una zona del formulario o -si se requiere- del formulario completo. Aquí un ejemplo:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;form&gt;
  Nombre: &lt;input type=&quot;text&quot; name=&quot;nombre&quot; autocomplete /&gt;
  Contraseña: &lt;input type=&quot;password&quot; name=&quot;contraseña&quot; autocomplete=&quot;off&quot; /&gt;
  &lt;input type=&quot;submit&quot; value=&quot;enviar&quot; /&gt;
&lt;/form&gt;
</pre>
<p>En el ejemplo anterior, al enfocar (ubicar el cursor) en el espacio del nombre, mostrará un desplegable con los textos que hayas ingresado antes; en cambio, para la contraseña, no desearás que, por descuido, alguien intente ingresar y se autocomplete tu palabra secreta, por lo cual utilizamos autocomplete=&#8221;off&#8221;.</p>
<h3>Required</h3>
<p>Siempre ha sido necesaria la validación de formularios, tanto por parte de cliente como de servidor. La validación cliente es muy útil, porque evita que un formulario se envíe si no ha sido validado antes, y en todo caso, es posible avisar al usuario si algún campo no ha sido completado o no cumple con los requisitos correctos.</p>
<p><strong>Required de HTML5</strong>, incluye una indicación donde se señala si algún campo del formulario es obligatorio o no.</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;label for=&quot;usuario&quot;&gt;Ingrese su nombre:&lt;/label&gt;
  &lt;input id=&quot;usuario&quot; name=&quot;usuario&quot; type=&quot;text&quot; required /&gt;
</pre>
<p>Hay ciertos navegadores que no soportan esta opción aunque, como en los demás casos, se puede seguir usando JavaScript.</p>
<h3>Datalist y List</h3>
<p>Es esta oportunidad se muestra un nuevo elemento llamado &#8220;datalist&#8221;, que no es más que una combinación de los elementos input y select.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;label for=&quot;mesdelanio&quot;&gt;Ingresa el mes&lt;/label&gt;
&lt;input type=&quot;text&quot; name=&quot;mesdelanio&quot; id=&quot;mesdelanio&quot; list=&quot;meses&quot;/&gt;
&lt;datalist id=&quot;meses&quot;&gt;
  &lt;option value=&quot;Enero&quot; /&gt;
  &lt;option value=&quot;Febrero&quot; /&gt;
  &lt;option value=&quot;Marzo&quot; /&gt;
  &lt;option value=&quot;Abril&quot; /&gt;
  &lt;option value=&quot;Mayo&quot; /&gt;
  &lt;option value=&quot;Junio&quot; /&gt;
  &lt;option value=&quot;Julio&quot; /&gt;
  &lt;option value=&quot;Agosto&quot; /&gt;
  &lt;option value=&quot;Septiembre&quot; /&gt;
  &lt;option value=&quot;Octubre&quot; /&gt;
  &lt;option value=&quot;Noviembre&quot; /&gt;
  &lt;option value=&quot;Diciembre&quot; /&gt;
&lt;/datalist&gt;
</pre>
<p>El tradicional select presentaba una lista de opciones a elegir, en forma de lista desplegable. La nueva etiqueta datalist cumple las mismas funciones, aunque simplifica el proceso. Al comenzar a escribir el texto, despliega las opciones que coinciden con el comienzo del texto ingresado, dando al usuario la posibilidad de elegir un contenido diferente.</p>
<h3>Nuevas Clases de &#8221; input&#8221;</h3>
<p>Esta es una forma de saber si nuestro navegador puede soportar los nuevos tipos de input de HTML5, mediante una función que nos entregará el resultado verdadero o falso:</p>
<pre class="brush: jscript; title: ; notranslate">
function soportaInput(tipo_entrada) {
  var entrada = document.createElement('input');
  input.setAttribute('type', tipo_entrada);
  if (input.type == 'text') {
  return false;
  } else {
  return true;
  }
  }
</pre>
<p><strong>Input type search: campos de búsqueda</strong></p>
<p>La función de búsqueda incluida en HTML es un elemento de texto, aunque con un aspecto exterior más adecuado a su función, la búsqueda de un argumento ingresado por el usuario. Se puede utilizar la búsqueda sencilla o un tipo de búsqueda que incluye la historia de los elementos buscados.</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;label for=&quot;mibusqueda&quot;&gt;Ingrese el argumento de búsqueda: &lt;/label&gt;
  &lt;input id=&quot;busqueda&quot; type=&quot;search&quot; placeholder=&quot;texto a buscar&quot;&gt;
</pre>
<p>Como es notorio en este ejemplo, la inclusión del atributo placeholder mostrará la frase &#8220;texto a buscar&#8221; dentro del casillero de búsqueda, la cual desaparecerá en cuanto el usuario comience a ingresar el argumento.</p>
<p><strong>Input type email, type url y type tel: Información de Contacto</strong></p>
<p>Entre las novedades de HTML5, se han agregado tres clases de contactos: número de teléfono, correo electrónico y dirección de sitio web.</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;label for=&quot;correo_e&quot;&gt;Tu correo-e&lt;/label&gt;
  &lt;input id=&quot;correo_e&quot; name=&quot;correo_e&quot; type=&quot;email&quot; /&gt;
  &lt;label for=&quot;sitioweb&quot;&gt;Tu página web&lt;/label&gt;
  &lt;input id=&quot;sitioweb&quot; name=&quot;sitioweb&quot; type=&quot;url&quot; /&gt;
  &lt;label for=&quot;telefono&quot;&gt;Tu número de teléfono&lt;/label&gt;
  &lt;input id=&quot;telefono&quot; name=&quot;telefono&quot; type=&quot;tel&quot; /&gt;
</pre>
<p>Según en qué navegador estés usando el elemento, las opciones pueden cambiar. Por ejemplo, si usas un navegador normal, todo aparecerá como un simple texto, pero si navegas desde un smartphone el teclado cambiará, aunque debes tener en cuenta que tu SmartPhone debe soportar HTML5.</p>
<h3>Sliders</h3>
<p>HTML5 también incluye sliders, esos elementos que se deslizan entre dos valores previamente definidos y especifican un rango. Digamos que el ejemplo típico es el slider del volumen de audio. Los rangos pueden determinarse, aunque este nuevo elemento asume una extensión 0-100, si no se especifica otra.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;range&quot; min=&quot;0&quot; max=&quot;80&quot; value=&quot;0&quot; /&gt;
</pre>
<p>Si ingresamos la codificación anterior en nuestra página, podremos ver una línea horizontal con un elemento deslizante sobre ella, que podremos mover a izquierda o derecha con ayuda del ratón. En este caso, podrás seleccionar un valor en el rango 0-80, aunque la página presentará inicialmente el valor 0.</p>
<p>Sin embargo, aquí falta algo, porque aun cuando podamos deslizar el indicador, no tenemos idea del valor que éste asume. Esto lo solucionamos combinando unas líneas en Java Script que nos mostrarán el valor cada vez que movamos el elemento deslizante.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;range&quot; min=&quot;0&quot; max=&quot;80&quot; value=&quot;0&quot;onchange=&quot;mostrarValor(this.value)&quot; /&gt;
  &lt;span id=&quot;range&quot;&gt;0&lt;/span&gt;
  &lt;script type=&quot;text/javascript&quot;&gt;
  function mostrarValor(nuevoValor)
  {
  document.getElementById(&quot;range&quot;).innerHTML=nuevoValor;
  }
  &lt;/script&gt;
</pre>
<h3>Spinners</h3>
<p>El control denominado spinner permite reducir o incrementar un valor mediante unos controles con forma de flecha que se ubican a la derecha del casillero que almacena el número. En el ejemplo siguiente se puede hacer click sobre las flechas para pasar gradualmente desde 0 a 100.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;label for=&quot;numero&quot;&gt;Aumenta o disminuye el valor&lt;/label&gt;
&lt;input id=&quot;numero&quot; name=&quot;numero&quot; type=&quot;number&quot; min=&quot;0&quot; max=&quot;100&quot; /&gt;
</pre>
<h3>Calendarios, Fecha, Hora</h3>
<p>Los populares calendarios de JavaScript han sido incluidos en HTML5, ahora con variadas nuevas formas de selección:</p>
<ul>
<li>date : selecciona la fecha completa, día-mes-año.</li>
<li>datetime: selecciona la hora completa más el día, mes, año y zona horaria (timezone).</li>
<li>datetime- local: incluye la hora actual, día, mes y año (no incluye zona horaria).</li>
<li>time: selecciona la hora actual en horas y minutos.</li>
<li>month: selecciona el mes y el año.</li>
<li>week : indica la semana (un número de 1 a 52) y el año.</li>
</ul>
<p>Aquí va un ejemplo:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;date&quot; name=&quot;fecha_actual&quot; /&gt;
</pre>
<p>Estas son las novedades en cuanto a <strong>formularios con HTML5</strong>, los cuales ayudan a una mejor funcionalidad de los navegadores y a un avance en cuanto a la usabilidad y la reducción de la necesidad de usar javascript, lo cual es sin duda un progreso indiscutible hacia la sencillez y eficiencia de la programación web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawebera.es/diseno-web-html-5/introduccion-a-la-creacion-de-formularios-con-html5.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 10/15 queries in 0.009 seconds using disk: basic

Served from: www.lawebera.es @ 2012-02-04 05:11:24 -->
