Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Remove single range restriction for selection interface apis

Abierto
#358 2 comentarios 0 reacciones 1 asignado Ver en GitHub

@sambandaru ya está trabajando en esto.

Desde el 14/5/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Proposal

Remove the single-range restriction from the Selection API. Allow addRange() to accumulate disjoint ranges, rangeCount to return values > 1, and getRangeAt(index) to accept index > 0. The API was designed for multiple ranges; this reverses the 2011 restriction. Chromium is pursuing implementation.

Explainer: MicrosoftEdge/MSEdgeExplainers — Multi-Range Selection (PR)
Canonical issue: #41 (open since Jan 2015)
Chromium feature request: issues.chromium.org/504686717
Webkit open bug: webkit.org/b/186465

Spec changes required

  1. Section 2 — Allow a collection of ranges instead of "a single range"
  2. Section 3, addRange() Step 2 — Remove the abort; define accumulation/merge semantics
  3. Section 3, rangeCount — Allow values > 1
  4. Section 3, getRangeAt() — Allow index > 0

Prior vendor interest

  • Google/Blink (TPAC 2017): @yoichio — "As Google Chrome, we are interested in supporting multiple range" (minutes)
  • Microsoft (2015): Ben Peters — "Layout order is not possible without multi-selection" (public-webapps)
  • Mozilla/Gecko: Ships multi-range for 20+ years. Stable, no web-compat issues.
  • #336 — Shadow DOM flat tree (TPAC 2024) acknowledges multi-range as a solution path
  • #115 — Developer request for table column selection, closed as dup of #41

Request

Requesting discussion in the Web Editing WG to build consensus on removing this restriction.

Lenguaje dominante
HTML
Estrellas
49
Forks
30
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de w3c/selection-api

Todos los issues de w3c/selection-api

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.