Microsoft ha dado un paso adelante en la mejora de su navegador Edge con la versión 140, al introducir el método highlightsFromPoint() en el API de Resaltado Personalizado de CSS. Esta nueva funcionalidad promete facilitar la vida de los desarrolladores, permitiéndoles localizar resaltados de texto en coordenadas específicas de la pantalla.
El API de Resaltado Personalizado de CSS ha sido un recurso valioso para crear resaltados en rangos de texto sin necesidad de modificar el Document Object Model (DOM). Mediante la creación y registro de objetos de tipo Range en el sistema CSS.highlights, se pueden aplicar estilos visuales a través del pseudo-elemento ::highlight(). Este enfoque es particularmente beneficioso para editores de texto en el cliente que requieren estilos dinámicos.
El nuevo método highlightsFromPoint() simplifica la detección de los resaltados personalizados en puntos específicos, lo que abre la puerta a la personalización de su apariencia o a la incorporación de elementos de interfaz adicionales. Esta funcionalidad es clave para características como la verificación ortográfica, edición colaborativa y menús contextuales, mejorando así la interacción del usuario con el texto resaltado.
Destacadamente, el método es capaz de identificar tanto los resaltados como sus rangos en el DOM y en el Shadow DOM, eliminando la necesidad de soluciones complicadas para la detección. Esta innovación hace que la implementación de funcionalidades interactivas sea más accesible y eficiente, incluso en escenarios con resaltados superpuestos.
Este avance evoca otras APIs relacionadas que permiten obtener información del DOM basándose en coordenadas de pantalla. Estas son esenciales para funcionalidades que dependen de la interacción del usuario, ya que permiten localizar elementos sin referencias explícitas.
Microsoft ha facilitado el acceso a la API mediante demostraciones y ejemplos prácticos, mostrando cómo se puede integrar highlightsFromPoint() con otras herramientas dentro del navegador. La compañía ha extendido una invitación a la comunidad de desarrolladores para compartir sus experiencias y proporcionar retroalimentación, además de reportar cualquier problema durante su implementación.