<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Flkt Crnpio</title>
    <description>The latest articles on DEV Community by Flkt Crnpio (@flktcrnpio).</description>
    <link>https://dev.to/flktcrnpio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F326530%2F8ceb7699-97c8-46a8-be1e-7568f58c86bb.jpg</url>
      <title>DEV Community: Flkt Crnpio</title>
      <link>https://dev.to/flktcrnpio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/flktcrnpio"/>
    <language>en</language>
    <item>
      <title>a11y. Cómo solucionar los 6 errores más comunes de accesibilidad web</title>
      <dc:creator>Flkt Crnpio</dc:creator>
      <pubDate>Thu, 19 Dec 2024 16:32:03 +0000</pubDate>
      <link>https://dev.to/flktcrnpio/accesibilidad-digital-notas-depara-programadoras-web-3cpe</link>
      <guid>https://dev.to/flktcrnpio/accesibilidad-digital-notas-depara-programadoras-web-3cpe</guid>
      <description>&lt;p&gt;Hace algún tiempo me encontré con un reporte de accesibilidad analizando un millón de páginas web que publicó WebAIM (uno de los grandes referentes del tema en Estados Unidos) &lt;a href="https://webaim.org/projects/million/" rel="noopener noreferrer"&gt;webaim.org/projects/million&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En este reporte aparecen, entre otras cosas, los seis errores más comunes de accesibilidad y la verdad me sorprendió la lista… son cosas super simples que … porque olvidamos?&lt;/p&gt;

&lt;p&gt;Si no tenemos tiempo de leernos la documentación de accesibilidad y sensibilizarnos con el tema, al menos podemos colaborar a la vida evitando caer en el mismo error una y otra vez.&lt;/p&gt;

&lt;h2&gt;
  
  
  Los errores más comunes que debemos evitar 🫡
&lt;/h2&gt;

&lt;p&gt;Del millón de páginas revisadas, se ordenaron los errores que en porcentaje se repiten en su &lt;em&gt;homepage&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tener bajo contraste de texto (81.0%)&lt;/li&gt;
&lt;li&gt;Utilizar imágenes sin texto alternativo (54.5%)&lt;/li&gt;
&lt;li&gt;No etiquetar correctamente los campos de entrada (48.6%)&lt;/li&gt;
&lt;li&gt;Tener enlaces vacíos!! (44.6%)&lt;/li&gt;
&lt;li&gt;Tener botones vacíos! (28.2%)&lt;/li&gt;
&lt;li&gt;No agregar atributos de lenguaje al documento (17.1%)&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1.Verificar el contraste del texto
&lt;/h3&gt;

&lt;p&gt;Por lo general este error lo resuelve el equipo de diseño. Al seleccionar la paleta de color que utilizará el sitio o sistema de diseño, deberán asegurarse que el contraste sea apropiado para la lectura.&lt;/p&gt;

&lt;p&gt;Al equipo de desarrollo simplemente nos pasan una lista de hexadecimales que utilizar… aun así… si notas algo raro, no olvides reportarlo a tu diseñadora favorita… que normalmente en el área de diseño no tienen QA, no se porque! de que privilegios gozan ?! u.u&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Agregar texto alternativo a las imágenes
&lt;/h3&gt;

&lt;p&gt;Si cuentas con un equipo de contenido (quienquiera que esté escribiendo la información que se verá en pantalla), debería de existir un documento en donde para cada imagen que se requiera poner en pantalla, se agrega el texto alternativo que ésta debe de tener, incluso si va vacío como el caso de las imágenes decorativas.&lt;/p&gt;

&lt;p&gt;El equipo de desarrollo debe cerciorarse de que toda etiqueta &lt;a href="" class="article-body-image-wrapper"&gt;&lt;img&gt;&lt;/a&gt; de imagen lleve siempre el atributo alt con o sin contenido, como se haya especificado por el equipo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"texto alternativo"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Etiquetar los campos de entrada
&lt;/h3&gt;

&lt;p&gt;Dependiendo del diseño, hay distintas formas en las que se puede etiquetar un campo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cuando el campo de entrada tiene visible la etiqueta de nombre, unicamente es importante recordar ligar ambos elementos con el &lt;code&gt;for&lt;/code&gt; del &lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; y el &lt;code&gt;id&lt;/code&gt; del &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"nombreunico"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Nombre completo
&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; 
  &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"nombreunico"&lt;/span&gt; 
  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; 
  &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Ejemplo: Alma Leticia"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Cuando únicamente se ve el campo de entrada, puede utilizarse el atributo &lt;code&gt;aria-label&lt;/code&gt; en la etiqueta del campo &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt;, selector &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; o área de texto &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; para agregarle la información del nombre al campo.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; 
  &lt;span class="na"&gt;aria-label=&lt;/span&gt;&lt;span class="s"&gt;"Nombre completo"&lt;/span&gt; 
  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; 
  &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Ejemplo: Alma Leticia"&lt;/span&gt;
&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Agregar contenido a los enlaces
&lt;/h3&gt;

&lt;p&gt;Parecido que con las imágenes, es un trabajo en equipo, es necesario que quien escriba el contenido siempre piense que texto significativo debe verse cuando se agrega un enlace, mientras que el equipo de desarrollo debe cerciorarse de que no se escriba nunca una etiqueta de enlace &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; ni sin enlace &lt;code&gt;href=””&lt;/code&gt; ni sin contenido &lt;code&gt;&amp;gt; … &amp;lt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"enlace"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; texto significativo &lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Agregar contenido a los botones
&lt;/h3&gt;

&lt;p&gt;Tanto el equipo de diseño como el equipo de contenido están envueltos en resolver que se verá y que se escuchará en un botón.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Para un botón sencillo &lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; con texto, nada más es verificar que funcione y se vea como se debe leer, la acción a realizar por la persona usuaria.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; Acción a realizar &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Cuando un botón contiene texto y pictograma, el texto debe decir qué acción se va a realizar, mientras que el pictograma debe ocultarse auditivamente mediante el atributo &lt;code&gt;aria-hidden&lt;/code&gt; que se incluye en el elemento que contenga el pictograma, en éste ejemplo un &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Acción a realizar
  &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"pictograma"&lt;/span&gt; &lt;span class="na"&gt;aria-hidden=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; :} &lt;span class="nt"&gt;&amp;lt;/pictograma&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Para un botón que contiene únicamente el pictograma, se mantiene el &lt;code&gt;aria-hidden&lt;/code&gt; en el &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; del pictograma y se agrega un &lt;code&gt;aria-label&lt;/code&gt; al elemento botón &lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; para especificar la acción a realizar.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; 
  &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt;
  &lt;span class="na"&gt;aria-label=&lt;/span&gt;&lt;span class="s"&gt;"Acción a realizar"&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"pictograma"&lt;/span&gt; &lt;span class="na"&gt;aria-hidden=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; :} &lt;span class="nt"&gt;&amp;lt;/pictograma&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Agregar atributo de lenguaje al documento HTML
&lt;/h3&gt;

&lt;p&gt;Es un atributo que la mayoría de los &lt;em&gt;frameworks&lt;/em&gt; ya traen siempre escrito, aunque como la mayoría están en inglés, habrá que cambiarle este atributo a la página al español.&lt;/p&gt;

&lt;p&gt;El lenguaje general del documento se declara en la etiqueta raíz de &lt;em&gt;HTML&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"es-mx"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cuando existen fragmentos de la página en otro idioma es necesario agregarle el atributo &lt;code&gt;lang&lt;/code&gt; a la etiqueta que contenga el texto en particular.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;hello&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;— Con esto solucionamos los errores más comunes. 🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  Otras recomendaciones generales para mejorar accesibilidad mediante el código 🤓
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Utilizar &lt;em&gt;HTML&lt;/em&gt; semántico.&lt;/li&gt;
&lt;li&gt;Agregar un enlace para ir al contenido principal, al inicio de la página antes de la navegación y cabecera.&lt;/li&gt;
&lt;li&gt;Agregar un título a cada página en el &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Organizar la estructura principal del sitio con etiquetas de región como &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Verificar que solo exista un &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; por vista.&lt;/li&gt;
&lt;li&gt;Utilizar solo un &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; por página.&lt;/li&gt;
&lt;li&gt;No brincar entre jerarquías de títulos, después del &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; el siguiente título que necesitemos debe ser un &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Para formularios complejos, utilizar el &lt;code&gt;&amp;lt;fieldset&amp;gt;&lt;/code&gt; y &lt;code&gt;&amp;lt;legend&amp;gt;&lt;/code&gt; para agrupar campos de información en secciones.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Escucha la página
&lt;/h3&gt;

&lt;p&gt;El orden de la lectura es igual al orden de la estructura del código, puedes intentar escuchar la página una vez que esté terminada para verificar que se comprenda, también ayuda a corregir la ortografía y puede ayudar en general a mejorar la estructura.&lt;/p&gt;

&lt;h3&gt;
  
  
  Navega la página
&lt;/h3&gt;

&lt;p&gt;Revisa que todos los elementos interactivos tengan estado de enfoque y que el orden en el que navegas entre uno y otro, utilizando el tabulador, sea el esperado. Puedes navegar el sitio con el teclado para verificarlo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verifica la accesibilidad básica con herramientas automáticas 🦇
&lt;/h3&gt;

&lt;p&gt;Existen un montón de herramientas que se pueden instalar en el navegador para verificar la accesibilidad.&lt;/p&gt;

&lt;p&gt;De mis favoritas serían las de IBM y la de Google Chrome&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.ibm.com/able/toolkit/tools/#develop" rel="noopener noreferrer"&gt;IBM Tools Equal Access Accessibility Checker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chromewebstore.google.com/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk" rel="noopener noreferrer"&gt;Lighthouse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;También me gusta mucho una enfocada particularmente los aria y landmarks, para ver la estructura del sitio.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://chromewebstore.google.com/detail/aria-devtools/dneemiigcbbgbdjlcdjjnianlikimpck?hl=en" rel="noopener noreferrer"&gt;ARIA DevTools&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Y para validación del código fuente durante la etapa de desarrollo, se puede agregar una extensión de Visual Studio Code&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=deque-systems.vscode-axe-linter" rel="noopener noreferrer"&gt;axe Accessibility Linter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Descansa🌟
&lt;/h2&gt;

&lt;p&gt;La mayor parte de los errores los cometemos cuando estamos desveladas, presionadas, sin comer, sin café (o lo que sea que te de pila) …. la vida no se trata solo del trabajo! pero si ya lo vamos a hacer hay que hacerlo bien :}&lt;/p&gt;

&lt;p&gt;Respiren, tomen agüita&lt;/p&gt;

&lt;p&gt;— flkt&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>frontend</category>
      <category>webdev</category>
      <category>español</category>
    </item>
    <item>
      <title>edición del &lt;input type color&gt; con CSS</title>
      <dc:creator>Flkt Crnpio</dc:creator>
      <pubDate>Tue, 11 Apr 2023 20:33:19 +0000</pubDate>
      <link>https://dev.to/flktcrnpio/edicion-del-con-css-3o03</link>
      <guid>https://dev.to/flktcrnpio/edicion-del-con-css-3o03</guid>
      <description>&lt;p&gt;.&lt;/p&gt;

&lt;p&gt;de las cosas mas difíciles e interesantes para mi siempre han sido los elementos de HTML de formulario, desde hacer que se vean del mismo modo en todos los navegadores, luchar contra instalar un plugin que hace magia en sus node_modules para ponerle mil elementos encima que se ven hermosos, o jugar para ver hasta donde puede llegar un elemento que cada que sacan nuevo es 'ineditable'&lt;/p&gt;

&lt;p&gt;el &lt;code&gt;&amp;lt;input type="color" /&amp;gt;&lt;/code&gt; es un elemento que se ve re diferente en todos los navegadores ( ni hablar de su menú contextual ! )&lt;/p&gt;

&lt;p&gt;&lt;em&gt; color en Chrome, Safari y Firefox, en ese orden&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3c4wnwm0nfrsly9wjpsm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3c4wnwm0nfrsly9wjpsm.jpg" alt="input color en Chrome, Safari y Firefox" width="800" height="57"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;como se medio aprecia en la imagen &lt;em&gt;(salió re chiquita)&lt;/em&gt; es un bloque de color dentro de algún contenedor con color de fondo y borde, que ni en su casa han de saber como quisieron alinear&lt;/p&gt;

&lt;p&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  homogeneizando el 
&lt;/h2&gt;

&lt;p&gt;en CSS es empezar de general a particular, así que comenzando por normalizar el elemento, hay que alinearlo, quitarle el padding, el borde y el color de fondo al contenedor&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nv"&gt;$height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;40px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nv"&gt;$radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"color"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;inline-flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;vertical-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// para quitar el pading en FF&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$height&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;para quitar el padding en chrome y safari se necesita editar el sub-elemento &lt;code&gt;::-webkit-color-swatch-wrapper&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nd"&gt;::-webkit-color-swatch-wrapper&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;por ultimo, para editar el bloque de color, necesitamos editar los sub-elementos &lt;code&gt;::-webkit-color-swatch&lt;/code&gt; y &lt;code&gt;::-moz-color-swatch&lt;/code&gt; para quitarles los bordes y redondearlo como necesitemos&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nd"&gt;::-webkit-color-swatch&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nd"&gt;::-moz-color-swatch&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;listo! ya se ve igual en todos los navegadores &lt;em&gt;(que estaba probando al menos)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fq1062j72ypwh0flodv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1fq1062j72ypwh0flodv.jpg" alt="input color homogeneizado" width="800" height="53"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ahora vamo a ponerlo buapo
&lt;/h2&gt;

&lt;p&gt;para hacerlo en tarjetas tipo pantone primero hay que agregarle un elemento mas que pueda contener al  y al  &lt;/p&gt;

&lt;p&gt;para quienes no lo hayan utilizado, el  es un elemento de html muy bonito de los formularios, al que se le puede conectar su contenido con alguna formula definida en el formulario o en un &lt;/p&gt;

&lt;p&gt;con el atributo &lt;code&gt;oninput="colorhex.value=value"&lt;/code&gt; se liga el valor del  color con el valor del  que tenga el id colorhex&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"color"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"#6600ff"&lt;/span&gt; &lt;span class="na"&gt;oninput=&lt;/span&gt;&lt;span class="s"&gt;"colorhex.value=value"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;output&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"colorhex"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;#6600ff&lt;span class="nt"&gt;&amp;lt;/output&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;de esta manera cada que se seleccione un color diferente en el , veremos el valor hexadecimal en el  &lt;em&gt;(pa’ poder hacer más rápido el copy&amp;amp;paste)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;para crear las tarjetas, agregamos un contenedor para tener en columnas los elementos  y  y editamos un poco los atributos de ambos para darle el estilo final&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nv"&gt;$radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;$height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;220px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;.pantone-card&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$height&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="mi"&gt;.25&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt; &lt;span class="m"&gt;4px&lt;/span&gt; &lt;span class="mh"&gt;#0001&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;como cambiamos la variable &lt;strong&gt;height&lt;/strong&gt;, el color del   quedará del nuevo valor de alto y se ajustará al ancho que tome la tarjeta… únicamente nos resta acomodarle el &lt;strong&gt;border-radius&lt;/strong&gt; de los sub-elementos &lt;code&gt;::-webkit-color-swatch&lt;/code&gt; y &lt;code&gt;::-moz-color-swatch&lt;/code&gt; para que el bloque de color quede redondeado de arriba y abajo quede recto&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"color"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;inline-flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// esto ya no se necesita &lt;/span&gt;
  &lt;span class="nl"&gt;vertical-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// esto tampoco&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$height&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;::-webkit-color-swatch-wrapper&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;::-webkit-color-swatch&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// arriba redondeado y abajo recto&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;::-moz-color-swatch&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt; &lt;span class="nv"&gt;$radius&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// arriba redondeado y abajo recto&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;al final nada mas nos resta agregarle los estilos al  para que parezca el texto típico de las tarjetas de pantone&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nt"&gt;output&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;28px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'helvetica'&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'HEXADECIMAL'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;14px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;al final tendremos tarjetas de color seleccionable, con los elementos nativos de HTML  y &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50m7zxi2opmp90bq29t3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50m7zxi2opmp90bq29t3.jpg" alt="Tarjetas de color seleccionable, con los elementos nativos de HTML" width="800" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;. . .&lt;/p&gt;

&lt;p&gt;de referencia, acá dejo el ejemplo corriendo&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codepen.io/flkt-crnpio/pen/dygbBxy" rel="noopener noreferrer"&gt;codepen.io/flkt-crnpio/pen/dygbBxy&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>html</category>
      <category>español</category>
    </item>
  </channel>
</rss>
