{"id":23,"date":"2023-01-26T12:34:32","date_gmt":"2023-01-26T15:34:32","guid":{"rendered":"https:\/\/alejandro.uy\/blog\/?p=23"},"modified":"2024-05-17T21:20:11","modified_gmt":"2024-05-18T00:20:11","slug":"la-diferencia-entre-css-focus-y-focus-visible","status":"publish","type":"post","link":"https:\/\/alejandro.uy\/blog\/2023\/01\/26\/la-diferencia-entre-css-focus-y-focus-visible\/","title":{"rendered":"La diferencia entre CSS focus y focus-visible"},"content":{"rendered":"\n<p>Se puede navegar por Internet con un mouse, un teclado y todo tipo de dispositivos de tecnolog\u00eda de asistencia. Independientemente del m\u00e9todo de entrada que utilice, una indicaci\u00f3n clara del elemento interactivo actual es crucial para una buena experiencia de usuario y accesibilidad. Las hojas de estilo predeterminadas de los navegadores hacen un gran trabajo, pero a veces queremos ser un poco m\u00e1s sofisticados.<\/p>\n\n\n\n<p>Las pseudoclases CSS <span class=\"badge badge-gamma badge-gamma--2\">:focus<\/span> y <span class=\"badge badge-gamma badge-gamma--2\">:focus-visible<\/span> nos permiten personalizar el aspecto de un indicador de foco. El soporte para <span class=\"badge badge-gamma badge-gamma--2\">:focus-visible<\/span> arrib\u00f3 recientemente en Safari, podemos esperar que se agregue en una pr\u00f3xima versi\u00f3n estable y que esta caracter\u00edstica est\u00e9 disponible en todos los navegadores modernos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CSS focus vs. focus-visible<\/h2>\n\n\n\n<p>Como se mencion\u00f3 anteriormente, los navegadores, de forma predeterminada, hacen un gran trabajo para determinar si un elemento debe indicar el enfoque en funci\u00f3n del tipo de elemento, la interacci\u00f3n del usuario, los a\u00f1os de comentarios, las pruebas y el estudio de la interacci\u00f3n del usuario. Este estado generalmente se indica mediante el contorno.<\/p>\n\n\n\n<p>Agregar la pseudoclase <span class=\"badge badge-gamma badge-gamma--2\">:focus<\/span> a un elemento har\u00e1 que muestre estilos espec\u00edficos de foco e ignorar\u00e1 la heur\u00edstica de los navegadores. El <span class=\"badge badge-gamma badge-gamma--2\">:focus-visible<\/span>, por el contrario, aplica un estilo personalizado solo si se muestra de forma nativa. Es una situaci\u00f3n en la que todos ganan, una bonita apariencia personalizada y a\u00f1os de investigaci\u00f3n en una propiedad de CSS.<\/p>\n\n\n\n<p>Un ejemplo cl\u00e1sico es un elemento de bot\u00f3n. \u00bfCon qu\u00e9 frecuencia desea ver un anillo de enfoque despu\u00e9s de hacer clic en un bot\u00f3n? Casi nunca. \u00bfCon qu\u00e9 frecuencia desea ver un indicador de enfoque en un bot\u00f3n cuando navega por un sitio web con un teclado? Casi siempre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ejemplo<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>.element:focus-visible {\n  background-color: yellow;\n}<\/code><\/pre><\/div>\n\n\n<hr>\n<p>Art\u00edculo original: <a href=\"https:\/\/pawelgrzybek.com\/the-difference-between-css-focus-and-focus-visible-pseudo-class\/#mainhttps:\/\/pawelgrzybek.com\/the-difference-between-css-focus-and-focus-visible-pseudo-class\/#main\">The difference between CSS focus and focus-visible pseudo-class<\/a><\/p>\n<p>Referencia: <a href=\"https:\/\/css-tricks.com\/managing-user-focus-with-focus-visible\/\">Managing User Focus with :focus-visible<\/a>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Se puede navegar por Internet con un mouse, un teclado y todo tipo de dispositivos de tecnolog\u00eda de asistencia. Independientemente del m\u00e9todo de entrada que utilice, una indicaci\u00f3n clara del elemento interactivo actual es crucial para una buena experiencia de usuario y accesibilidad. Las hojas de estilo predeterminadas de los navegadores hacen un gran trabajo,<\/p>\n<p><a class=\"btn btn-epsilon\" href=\"https:\/\/alejandro.uy\/blog\/2023\/01\/26\/la-diferencia-entre-css-focus-y-focus-visible\/\">Continuar leyendo &nbsp; <span class=\"material-symbols-outlined material-symbols-outlined--sm\">read_more<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[6],"class_list":["post-23","post","type-post","status-publish","format-standard","hentry","category-desarrollo-web","tag-css","entry"],"_links":{"self":[{"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/posts\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":62,"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"predecessor-version":[{"id":359,"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/posts\/23\/revisions\/359"}],"wp:attachment":[{"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alejandro.uy\/blog\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}