El Atributo OPTIMUM

Se utiliza con el elemento METTER para indicar el valor ideal o preferido dentro de un rango de medición.

El atributo optimum se utiliza con el elemento <meter> para indicar el valor ideal o preferido dentro de un rango de medición. Este atributo afecta la representación visual del medidor en el navegador, ayudando a los usuarios a interpretar rápidamente si el valor actual es óptimo, aceptable o crítico.


???? Elemento <meter>: Conceptos básicos

El elemento <meter> representa una medida dentro de un rango conocido (por ejemplo, capacidad de almacenamiento, nivel de batería, puntuaciones). Sus atributos principales son:

Atributo Descripción
value Valor actual (requerido).
min Valor mínimo del rango (por defecto: 0).
max Valor máximo del rango (por defecto: 1).
low Límite inferior del rango "bajo".
high Límite superior del rango "alto".
optimum Valor ideal dentro del rango (define cómo se colorea/visualiza el medidor).

???? Cómo funciona optimum

El atributo optimum determina:

  • La interpretación visual del valor actual en relación con los rangos low y high.

  • La coloración del medidor (varía según el navegador):

    • Verde: Valor en el rango óptimo.

    • Amarillo: Valor aceptable pero no óptimo.

    • Rojo: Valor fuera del rango deseado.


???? Ejemplos prácticos

1. Medidor de capacidad de almacenamiento

html
Copy
<meter 
  min="0" 
  max="100" 
  value="75" 
  low="20" 
  high="80" 
  optimum="70"
>
  75%
</meter>
  • Interpretación:

    • Bajo: < 20% (rojo).

    • Óptimo: Cerca de 70% (verde).

    • Alto: > 80% (amarillo si está lejos de optimum).


2. Sistema de puntuación de exámenes

html
Copy
<meter 
  min="0" 
  max="100" 
  value="55" 
  low="40" 
  high="80" 
  optimum="90"
>
  55/100
</meter>
  • Visualización:

    • optimum="90" (ideal alto).

    • value="55" está en el rango "bajo" (40-80), pero lejos del óptimo (90), por lo que podría mostrar amarillo/rojo.


3. Nivel de batería

html
Copy
<meter 
  min="0" 
  max="100" 
  value="15" 
  low="20" 
  high="90" 
  optimum="95"
>
  15%
</meter>
  • Resultado:

    • Valor (15%) está por debajo de low (20%), lo que activa una alerta visual (rojo).


???? Personalización con CSS

Aunque los estilos predeterminados varían entre navegadores, puedes personalizar el <meter>:

css
Copy
meter {
  width: 200px;
  height: 25px;
}

/* Estilos para WebKit (Chrome, Safari) */
meter::-webkit-meter-bar {
  background: #eee;
  border-radius: 5px;
}

meter::-webkit-meter-optimum-value {
  background: #2ecc71; /* Color para valores óptimos */
}

meter::-webkit-meter-suboptimum-value {
  background: #f1c40f; /* Color para valores aceptables */
}

meter::-webkit-meter-even-less-good-value {
  background: #e74c3c; /* Color para valores críticos */
}

⚠️ Consideraciones clave

  1. Diferencias entre navegadores:

    • Chrome/Safari usan colores para indicar los rangos.

    • Firefox muestra una barra con sombreado.

    • Edge/Opera tienen comportamientos similares a Chrome.

  2. Accesibilidad:

    • Siempre incluye el valor numérico como texto dentro de <meter>.

    • Usa aria-valuetext para descripciones adicionales:

      html
      Copy
      <meter value="55" optimum="90" aria-valuetext="55 de 100 puntos">
        55/100
      </meter>
  1. No confundir con <progress>:

    • <progress>: Indica el avance de una tarea (ej: descarga).

    • <meter>: Mide un valor estático dentro de un rango (ej: capacidad).


???? Casos de uso comunes

  • Indicadores de rendimiento (CPU, RAM).

  • Niveles de inventario o capacidad.

  • Puntuaciones de calidad (reviews, exámenes).

  • Medidores de temperatura/humedad.


???? Conclusión

El atributo optimum permite:

  • Definir el valor ideal en un rango de medición.

  • Guiar la interpretación visual del usuario.

  • Mejorar la usabilidad en dashboards y sistemas de monitoreo.

Ejemplo final avanzado:

html
Copy
<div class="sistema-salud">
  <label>Nivel de hidratación:</label>
  <meter 
    min="0" 
    max="10" 
    value="7" 
    low="3" 
    high="8" 
    optimum="7.5"
    aria-valuetext="7 de 10 (saludable)"
  >
    7/10
  </meter>
</div>

Con este conocimiento, podrás implementar medidores intuitivos y funcionales en tus proyectos web. ¡Experimenta con diferentes rangos y estilos! ????????