diff --git a/files/es/_redirects.txt b/files/es/_redirects.txt
index 437cf9dce1b2e7..e834b829476281 100644
--- a/files/es/_redirects.txt
+++ b/files/es/_redirects.txt
@@ -1686,6 +1686,7 @@
/es/docs/Web/API/Media_Streams_API /es/docs/Web/API/Media_Capture_and_Streams_API
/es/docs/Web/API/Media_Streams_API/Taking_still_photos /es/docs/Web/API/Media_Capture_and_Streams_API/Taking_still_photos
/es/docs/Web/API/Navigator.getUserMedia /es/docs/Web/API/Navigator/getUserMedia
+/es/docs/Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers /es/docs/conflicting/Web/API/Navigator/registerProtocolHandler
/es/docs/Web/API/NavigatorConcurrentHardware /es/docs/Web/API/Navigator
/es/docs/Web/API/NavigatorConcurrentHardware/hardwareConcurrency /es/docs/Web/API/Navigator/hardwareConcurrency
/es/docs/Web/API/NavigatorGeolocation/geolocation /es/docs/Web/API/Navigator/geolocation
@@ -1763,7 +1764,7 @@
/es/docs/Web/API/console/log /es/docs/Web/API/console/log_static
/es/docs/Web/API/console/table /es/docs/Web/API/console/table_static
/es/docs/Web/API/console/time /es/docs/Web/API/console/time_static
-/es/docs/Web/API/console/timeEnd /es/docs/Web/API/console/timeend_static
+/es/docs/Web/API/console/timeEnd /es/docs/Web/API/console/timeEnd_static
/es/docs/Web/API/console/trace /es/docs/Web/API/console/trace_static
/es/docs/Web/API/console/warn /es/docs/Web/API/console/warn_static
/es/docs/Web/API/crypto_property /es/docs/Web/API/Window/crypto
@@ -2197,9 +2198,12 @@
/es/docs/Web/HTML/microformatos /es/docs/Web/HTML/microformats
/es/docs/Web/HTML/Índice /es/docs/Web/HTML
/es/docs/Web/HTTP/Access_control_CORS /es/docs/Web/HTTP/CORS
-/es/docs/Web/HTTP/Basics_of_HTTP/Data_URIs /es/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
-/es/docs/Web/HTTP/Basics_of_HTTP/Datos_URIs /es/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
-/es/docs/Web/HTTP/Basics_of_HTTP/Identificación_recursos_en_la_Web /es/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
+/es/docs/Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs /es/docs/Web/URI/Authority/Choosing_between_www_and_non-www_URLs
+/es/docs/Web/HTTP/Basics_of_HTTP/Data_URIs /es/docs/Web/URI/Schemes/data
+/es/docs/Web/HTTP/Basics_of_HTTP/Data_URLs /es/docs/Web/URI/Schemes/data
+/es/docs/Web/HTTP/Basics_of_HTTP/Datos_URIs /es/docs/Web/URI/Schemes/data
+/es/docs/Web/HTTP/Basics_of_HTTP/Identificación_recursos_en_la_Web /es/docs/orphaned/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
+/es/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web /es/docs/orphaned/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
/es/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Lista_completa_de_tipos_MIME /es/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
/es/docs/Web/HTTP/Gestion_de_la_conexion_en_HTTP_1.x /es/docs/Web/HTTP/Connection_management_in_HTTP_1.x
/es/docs/Web/HTTP/Peticiones_condicionales /es/docs/Web/HTTP/Conditional_requests
@@ -2997,7 +3001,7 @@
/es/docs/conflicting/web/api/file/name /es/docs/web/api/file/name
/es/docs/conflicting/web/javascript/reference/deprecated_and_obsolete_features /es/docs/web/javascript/reference/deprecated_and_obsolete_features
/es/docs/conflicting/web/javascript/reference/deprecated_and_obsolete_features_a91664716c4f7753074ac042780999e0 /es/docs/web/javascript/reference/deprecated_and_obsolete_features
-/es/docs/controladores_protocolos_web /es/docs/Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers
+/es/docs/controladores_protocolos_web /es/docs/conflicting/Web/API/Navigator/registerProtocolHandler
/es/docs/en /en-US/
/es/docs/firefox_Web_Developer_(externo) https://addons.mozilla.org/firefox/60/
/es/docs/orphaned/MDN/Tools https://github.com/mdn/yari/tree/main/docs
diff --git a/files/es/_wikihistory.json b/files/es/_wikihistory.json
index 579c9131e47322..576d5ed68cc5f4 100644
--- a/files/es/_wikihistory.json
+++ b/files/es/_wikihistory.json
@@ -4744,10 +4744,6 @@
"modified": "2019-03-23T23:53:04.318Z",
"contributors": ["fscholz", "khalid32", "Nukeador", "HenryGR", "Mgjbot"]
},
- "Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers": {
- "modified": "2019-03-23T22:06:43.969Z",
- "contributors": ["chrisdavidmills", "AngelFQC"]
- },
"Web/API/Navigator/vibrate": {
"modified": "2019-03-23T23:32:23.651Z",
"contributors": ["fscholz", "jsx", "mmednik"]
@@ -5755,14 +5751,14 @@
"modified": "2019-03-23T22:20:30.589Z",
"contributors": ["AlePerez92"]
},
+ "Web/API/console/timeEnd_static": {
+ "modified": "2020-10-15T22:13:11.825Z",
+ "contributors": ["xlhector10"]
+ },
"Web/API/console/time_static": {
"modified": "2019-03-18T21:42:22.745Z",
"contributors": ["jotaoncode"]
},
- "Web/API/console/timeend_static": {
- "modified": "2020-10-15T22:13:11.825Z",
- "contributors": ["xlhector10"]
- },
"Web/API/console/trace_static": {
"modified": "2019-03-23T22:22:51.545Z",
"contributors": ["Axl-Nolasco"]
@@ -9428,22 +9424,10 @@
"cissoid"
]
},
- "Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs": {
- "modified": "2019-03-18T21:22:07.450Z",
- "contributors": ["Adorta4", "carlosgocereceda"]
- },
- "Web/HTTP/Basics_of_HTTP/Data_URLs": {
- "modified": "2019-03-23T22:24:54.977Z",
- "contributors": ["Sergio_Gonzalez_Collado", "AzazelN28", "uclides"]
- },
"Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP": {
"modified": "2019-03-23T22:10:11.567Z",
"contributors": ["Sergio_Gonzalez_Collado", "ChrisMHM"]
},
- "Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web": {
- "modified": "2019-03-23T22:24:51.387Z",
- "contributors": ["DaniNz", "Sergio_Gonzalez_Collado", "ChrisMHM", "uclides"]
- },
"Web/HTTP/Basics_of_HTTP/MIME_types": {
"modified": "2019-11-18T08:03:54.325Z",
"contributors": [
@@ -13453,6 +13437,14 @@
"diegogaysaez"
]
},
+ "Web/URI/Authority/Choosing_between_www_and_non-www_URLs": {
+ "modified": "2019-03-18T21:22:07.450Z",
+ "contributors": ["Adorta4", "carlosgocereceda"]
+ },
+ "Web/URI/Schemes/data": {
+ "modified": "2019-03-23T22:24:54.977Z",
+ "contributors": ["Sergio_Gonzalez_Collado", "AzazelN28", "uclides"]
+ },
"Web/XML/Parsing_and_serializing_XML": {
"modified": "2019-03-23T22:10:22.365Z",
"contributors": ["FenixAlive"]
@@ -14046,6 +14038,10 @@
"modified": "2019-03-18T21:11:08.379Z",
"contributors": ["duduindo", "teoli", "semptrion", "CHORVAT", "inma_610"]
},
+ "conflicting/Web/API/Navigator/registerProtocolHandler": {
+ "modified": "2019-03-23T22:06:43.969Z",
+ "contributors": ["chrisdavidmills", "AngelFQC"]
+ },
"conflicting/Web/API/Node": {
"modified": "2019-03-23T22:08:57.260Z",
"contributors": ["tureey"]
@@ -15330,6 +15326,10 @@
"modified": "2019-03-23T22:46:15.359Z",
"contributors": ["juanbrujo", "raecillacastellana", "vltamara"]
},
+ "orphaned/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web": {
+ "modified": "2019-03-23T22:24:51.387Z",
+ "contributors": ["DaniNz", "Sergio_Gonzalez_Collado", "ChrisMHM", "uclides"]
+ },
"orphaned/Web/JavaScript/Reference/Errors/Undefined_prop": {
"modified": "2020-03-12T19:47:46.684Z",
"contributors": ["antixsuperstar"]
diff --git a/files/es/web/api/navigator/registerprotocolhandler/web-based_protocol_handlers/index.md b/files/es/conflicting/web/api/navigator/registerprotocolhandler/index.md
similarity index 97%
rename from files/es/web/api/navigator/registerprotocolhandler/web-based_protocol_handlers/index.md
rename to files/es/conflicting/web/api/navigator/registerprotocolhandler/index.md
index f38b1e28cfdb25..43f0f427ba2c10 100644
--- a/files/es/web/api/navigator/registerprotocolhandler/web-based_protocol_handlers/index.md
+++ b/files/es/conflicting/web/api/navigator/registerprotocolhandler/index.md
@@ -1,6 +1,7 @@
---
title: Controladores de protocolos basados en web
-slug: Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers
+slug: conflicting/Web/API/Navigator/registerProtocolHandler
+original_slug: Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers
---
## Antecedentes
diff --git a/files/es/web/http/basics_of_http/identifying_resources_on_the_web/index.md b/files/es/orphaned/web/http/basics_of_http/identifying_resources_on_the_web/index.md
similarity index 97%
rename from files/es/web/http/basics_of_http/identifying_resources_on_the_web/index.md
rename to files/es/orphaned/web/http/basics_of_http/identifying_resources_on_the_web/index.md
index 20aecc51608c75..5b581472cec232 100644
--- a/files/es/web/http/basics_of_http/identifying_resources_on_the_web/index.md
+++ b/files/es/orphaned/web/http/basics_of_http/identifying_resources_on_the_web/index.md
@@ -1,6 +1,7 @@
---
title: Identificación de recursos web
-slug: Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
+slug: orphaned/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
+original_slug: Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
---
{{HTTPSidebar}}
diff --git a/files/es/web/api/console/timeend_static/index.md b/files/es/web/api/console/timeend_static/index.md
index bc84372a79a0f8..48a9be3667dcbc 100644
--- a/files/es/web/api/console/timeend_static/index.md
+++ b/files/es/web/api/console/timeend_static/index.md
@@ -1,6 +1,6 @@
---
title: Console.timeEnd()
-slug: Web/API/console/timeend_static
+slug: Web/API/console/timeEnd_static
---
{{APIRef("Console API")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/clear/index.md b/files/es/web/javascript/reference/global_objects/map/clear/index.md
new file mode 100644
index 00000000000000..391871c06eec56
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/clear/index.md
@@ -0,0 +1,56 @@
+---
+title: Map.prototype.clear()
+slug: Web/JavaScript/Reference/Global_Objects/Map/clear
+l10n:
+ sourceCommit: 27180875516cc311342e74b596bfb589b7211e0c
+---
+
+{{JSRef}}
+
+El método **`clear()`** de las instancias {{jsxref("Map")}} remueve todos los elementos de este _map_.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-clear.html")}}
+
+## Sintaxis
+
+```js-nolint
+clear()
+```
+
+### Parámetros
+
+Ningúno.
+
+### Valor devuelto
+
+Ningúno ({{jsxref("undefined")}}).
+
+## Ejemplos
+
+### Usando clear()
+
+```js
+const myMap = new Map();
+myMap.set("bar", "baz");
+myMap.set(1, "foo");
+
+console.log(myMap.size); // 2
+console.log(myMap.has("bar")); // true
+
+myMap.clear();
+
+console.log(myMap.size); // 0
+console.log(myMap.has("bar")); // false
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/delete/index.md b/files/es/web/javascript/reference/global_objects/map/delete/index.md
new file mode 100644
index 00000000000000..3f1b505210e1f5
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/delete/index.md
@@ -0,0 +1,51 @@
+---
+title: Map.prototype.delete()
+slug: Web/JavaScript/Reference/Global_Objects/Map/delete
+l10n:
+ sourceCommit: 88d71e500938fa8ca969fe4fe3c80a5abe23d767
+---
+
+{{JSRef}}
+
+El método **`delete()`** de las instancias {{jsxref("Map")}} remueve el elemento especificado de este _map_ utilizando la llave del elemento que se quiere remover.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-delete.html")}}
+
+## Sintaxis
+
+```js-nolint
+mapInstance.delete(key)
+```
+
+### Parámetros
+
+- `key`
+ - : La llave de el elemento que se va a remover del objeto `Map`.
+
+### Valor devuelto
+
+`true` si un elemento en el objeto `Map` existía y fué removido, o `false` si el elemento no existe.
+
+## Ejemplos
+
+### Usando delete()
+
+```js
+const myMap = new Map();
+myMap.set("bar", "foo");
+
+console.log(myMap.delete("bar")); // Regresa true. Removido exitosamente.
+console.log(myMap.has("bar")); // Regresa false. El elemento "bar" ya no esta presente.
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/entries/index.md b/files/es/web/javascript/reference/global_objects/map/entries/index.md
new file mode 100644
index 00000000000000..99fdf304c7aee7
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/entries/index.md
@@ -0,0 +1,56 @@
+---
+title: Map.prototype.entries()
+slug: Web/JavaScript/Reference/Global_Objects/Map/entries
+l10n:
+ sourceCommit: 27180875516cc311342e74b596bfb589b7211e0c
+---
+
+{{JSRef}}
+
+El método **`entries()`** de las instancias {{jsxref("Map")}} regresa un nuevo objeto _[iterador de mapa](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator)_ que contiene las tuplas `[llave, valor]` para cada elemento en este _map_ en orden de inserción.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-entries.html")}}
+
+## Sintaxis
+
+```js-nolint
+entries()
+```
+
+### Parámetros
+
+Ningúno.
+
+### Valor devuelto
+
+Un nuevo [objeto de tipo iterator iterable](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator).
+
+## Ejemplos
+
+### Usando entries()
+
+```js
+const myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+const mapIter = myMap.entries();
+
+console.log(mapIter.next().value); // ["0", "foo"]
+console.log(mapIter.next().value); // [1, "bar"]
+console.log(mapIter.next().value); // [Object, "baz"]
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map.prototype.keys()")}}
+- {{jsxref("Map.prototype.values()")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/get/index.md b/files/es/web/javascript/reference/global_objects/map/get/index.md
new file mode 100644
index 00000000000000..1e807a12308c06
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/get/index.md
@@ -0,0 +1,68 @@
+---
+title: Map.prototype.get()
+slug: Web/JavaScript/Reference/Global_Objects/Map/get
+l10n:
+ sourceCommit: 3cfd663738e9963157d90f359789d675a6662ec2
+---
+
+{{JSRef}}
+
+El método **`get()`** de las instancias de {{jsxref("Map")}} regresa un elemento específico de este _map_. Si el valor que esta asociado a la llave pasada como parámetro es un objeto, entonces obtendras una referencia a dicho objeto y cualquier cambio hecho a ese objeto, lo modificará también dentro del objeto `Map`.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-get.html")}}
+
+## Sintaxis
+
+```js-nolint
+get(key)
+```
+
+### Parámetros
+
+- `key`
+ - : La llave del elemento que se quiere obtener del objeto `Mqp`.
+
+### Valor devuelto
+
+El elemento asociado a la llave pasada como parámetro, o {{jsxref("undefined")}} si la llave no se encuentra en el objeto `Map`.
+
+## Ejemplos
+
+### Usando get()
+
+```js
+const myMap = new Map();
+myMap.set("bar", "foo");
+
+console.log(myMap.get("bar")); // Regresa "foo"
+console.log(myMap.get("baz")); // Regresa undefined
+```
+
+### Usando get() para recuperar una referencia a un objeto
+
+```js
+const arr = [];
+const myMap = new Map();
+myMap.set("bar", arr);
+
+myMap.get("bar").push("foo");
+
+console.log(arr); // ["foo"]
+console.log(myMap.get("bar")); // ["foo"]
+```
+
+Note que el _map_ mantiene una referencia al objeto original, esto significa que el objeto no puede ser reclamado por el recolector de basura, lo que puede llevar a errores de memoria inesperados. Si deseas que el objeto guardado en el _map_ tenga el mismo tiempo de vida que el objeto original, considera usar un {{jsxref("WeakMap")}}.
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map")}}
+- {{jsxref("Map.prototype.set()")}}
+- {{jsxref("Map.prototype.has()")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/groupby/index.md b/files/es/web/javascript/reference/global_objects/map/groupby/index.md
new file mode 100644
index 00000000000000..c811112f761fd2
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/groupby/index.md
@@ -0,0 +1,110 @@
+---
+title: Map.groupBy()
+slug: Web/JavaScript/Reference/Global_Objects/Map/groupBy
+l10n:
+ sourceCommit: 8421c0cd94fa5aa237c833ac6d24885edbc7d721
+---
+
+{{JSRef}}
+
+> [!NOTE]
+> En algunas versiones de algunos navegadores, este método fué implementado como el método `Array.prototype.groupToMap()`. Debido a problemas de compatibilidad web, ahora es implementado como un método estático. Revise la [tabla de compatibilidad con navegadores](#compatibilidad_con_navegadores) para más detalles.
+
+El método estático **`Map.groupBy()`** agrupa los elementos de un iterable, utilizando los valores regresados por la función provista. El objeto {{jsxref("Map")}} regresado utiliza los valores únicos de la función de prueba como llaves, los cuales pueden utilizarse para obtener el arreglo de elementos en cada grupo.
+
+El método es útil principalmente cuando se quiere agrupar elementos que están asociados con un objeto, y particularmente cuando el objeto puede cambiar con el tiempo. Si el objeto es invariante, podrías en su lugar representarlo utilizando una cadena de caracteres _string_, y agrupando los elementos con {{jsxref("Object.groupBy()")}}.
+
+{{EmbedInteractiveExample("pages/js/map-groupby.html", "taller")}}
+
+## Sintaxis
+
+```js-nolint
+Map.groupBy(items, callbackFn)
+```
+
+### Parámetros
+
+- `items`
+ - : Un [iterable](/es/docs/Web/JavaScript/Reference/Iteration_protocols#el_protocolo_iterador) (así como un {{jsxref("Array")}}) cuyos elementos serán agrupados.
+- `callbackFn`
+ - : Una función que se ejecuta por cada elemento en el iterable. Debe regresar un valor ({{Glossary("object")}} o un {{Glossary("primitive")}}) indicando el grupo del elemento actual. La función es llamada con los siguientes argumentos:
+ - `element`
+ - : El elemento actual que está siendo procesado.
+ - `index`
+ - : El índice del elemento actual que esta siendo procesado.
+
+### Valor regresado
+
+Un objeto {{jsxref("Map")}} con llaves para cada grupo, cada llave asignada a un arreglo que contiene los elementos del grupo asociado.
+
+## Descripción
+
+`Map.groupBy()` llama a la función de devolución de llamada `callbackFn` pasada como parámetro, una vez por cada elemento en el iterable. La función de devolución de llamada debe regresar un valor indicando el grupo del elemento asociado. Los valores regresados por la `callbackFn` son utilizados como llaves para el {{jsxref("Map")}} regresado por `Map.groupBy()`. Cada llave tiene asociado un arreglo que contiene todos los elementos para los cuales la función de devolución de llamada regresó el mismo valor.
+
+Los elementos en el objeto {{jsxref("Map")}} regresado por la función y en el iterable original, son los mismos (sin {{Glossary("deep copy", "copias profundas")}}). Al cambiar la estructura interna de los elementos, esta se vera reflejada en ambos, el iterable original y el {{jsxref("Map")}} regresado por la función.
+
+Este método es util cuando necesitas agrupar información que está relacionada a un objeto en particular y que potencialmente puede cambiar con el tiempo. Esto es debido a que, incluseo si el objeto es modificado, continuará funcionando como llave para el objeto `Map` regresado por la función. Si en su lugar creas una representación _string_ para el objeto y la utilizas como la llave para agrupar en {{jsxref("Object.groupBy()")}}, debes mantener el mapeo entre el objeto original y su representacion de acuerdo a como el objeto cambia.
+
+> [!NOTE]
+> Para accesar los grupos en el objeto `Map` regresado por la función, debes utilizar el mismo objeto que fué usado como llave en el `Map` (a pesar de que puedes modificar sus propiedades). No puedes usar otro objeto que de casulaidad tiene el mismo nombre y las mismas propiedades.
+
+`Map.groupBy` no lee el valor de `this`. Puede ser llamado en cualquier objeto y regresará una nueva instancia de {{jsxref("Map")}}.
+
+## Ejemplos
+
+### Utilizando Map.groupBy()
+
+Primero definimos un arreglo que contenga objetos que representen un inventario de diferentes alimentos. Cada alimento tiene un `type` y un `quantity`.
+
+```js
+const inventory = [
+ { name: "asparagus", type: "vegetables", quantity: 9 },
+ { name: "bananas", type: "fruit", quantity: 5 },
+ { name: "goat", type: "meat", quantity: 23 },
+ { name: "cherries", type: "fruit", quantity: 12 },
+ { name: "fish", type: "meat", quantity: 22 },
+];
+```
+
+El código de abajo utiliza `Map.groupBy()` con una función flecha que regresa las llaves de objeto llamadas `restock` o `sufficient`, dependiendo de si la propiedad del elemento es `quantity < 6`. El objeto `result` que regresa, es un `Map` así que necesitamos llamar `get()` con la llave para obtener el arreglo.
+
+```js
+const restock = { restock: true };
+const sufficient = { restock: false };
+const result = Map.groupBy(inventory, ({ quantity }) =>
+ quantity < 6 ? restock : sufficient,
+);
+console.log(result.get(restock));
+// [{ name: "bananas", type: "fruit", quantity: 5 }]
+```
+
+Note que el argumento `{ quantity }` de la función, es un ejemplo básico de la [sintaxis de destructuración de objetos pasados como parámetros de función](/es/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#desempacar_campos_de_objetos_pasados_como_parámetro_de_función). Esto desempaca la propiedad `quantity` del objeto pasado como parámetro, y lo asigna a la variable llamada `quantity` en el cuerpo de la función. Esta es una forma muy concisa de accesar los valores relevantes de elementos, dentro de una función.
+
+La llave de un `Map` puede ser modificada y aún usarse. Sin embargo no puedes recrear la llave y aún usarla. Por esa razón es importante que cualquiera que necesite usar el _map_ mantenga una referencia de sus llaves.
+
+```js
+// La llave puede ser modificada y aún usarse
+restock["fast"] = true;
+console.log(result.get(restock));
+// [{ name: "bananas", type: "fruit", quantity: 5 }]
+
+// Una nueva llave no puede ser usada, incluso si tiene la misma estructura!
+const restock2 = { restock: true };
+console.log(result.get(restock2)); // undefined
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- [Polyfill de `Map.groupBy` en `core-js`](https://github.com/zloirock/core-js#array-grouping)
+- Guía de [Colleciones indexadas](/es/docs/Web/JavaScript/Guide/Indexed_collections)
+- {{jsxref("Array.prototype.reduce()")}}
+- {{jsxref("Map/Map", "Map()")}}
+- {{jsxref("Object.groupBy()")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/has/index.md b/files/es/web/javascript/reference/global_objects/map/has/index.md
new file mode 100644
index 00000000000000..fcf3da626601a8
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/has/index.md
@@ -0,0 +1,53 @@
+---
+title: Map.prototype.has()
+slug: Web/JavaScript/Reference/Global_Objects/Map/has
+l10n:
+ sourceCommit: 3cfd663738e9963157d90f359789d675a6662ec2
+---
+
+{{JSRef}}
+
+El método **`has()`** de las instancias {{jsxref("Map")}} regresa un booleano indicando si un elemento con la llave especificada existe o no en este _map_.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-has.html")}}
+
+## Sintaxis
+
+```js-nolint
+has(key)
+```
+
+### Parámetros
+
+- `key`
+ - : La llave del elemento que se quiere comprobar si existe en el objeto `Map`.
+
+### Valor devuelto
+
+`true` si un elemento con la llave especificada existe en el objeto `Map`; de lo contrario regresa `false`.
+
+## Ejemplos
+
+### Usando has()
+
+```js
+const myMap = new Map();
+myMap.set("bar", "foo");
+
+console.log(myMap.has("bar")); // true
+console.log(myMap.has("baz")); // false
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map")}}
+- {{jsxref("Map.prototype.set()")}}
+- {{jsxref("Map.prototype.get()")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/index.md b/files/es/web/javascript/reference/global_objects/map/index.md
new file mode 100644
index 00000000000000..ca26f6a4a0d068
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/index.md
@@ -0,0 +1,503 @@
+---
+title: Map
+slug: Web/JavaScript/Reference/Global_Objects/Map
+l10n:
+ sourceCommit: 8421c0cd94fa5aa237c833ac6d24885edbc7d721
+---
+
+{{JSRef}}
+
+El objeto **`Map`** retiene tuplas de llave-valor y mantiene el orden de inserción de las llaves.
+Cualquier valor (ambos objetos y {{Glossary("Primitive", "valores primitivos")}}) puede ser usado como llave o valor.
+
+{{EmbedInteractiveExample("pages/js/map.html", "taller")}}
+
+## Descripción
+
+Los objetos `Map` son colecciones de tuplas tipo llave-valor. Una llave en `Map` **puede aparecer solo una vez**; es única en la colección de `Map`. Un objeto `Map` es iterado por sus tuplas llave-valor —un bucle {{jsxref("Statements/for...of", "for...of")}} regresa un arreglo de `[llave, valor]` por cada iteración. La iteración sucede en _orden de inserción_, la cual corresponde al orden en el que cada tupla llave-valor fue incertada inicialmente en el _map_ por el método [`set()`](/es/docs/Web/JavaScript/Reference/Global_Objects/Map/set) (eso es, si no había una llave con el mismo valor en el map, cuando `set()` fué llamado).
+
+La especificación requiere que los _maps_ sean implementados "que, en promedio, proporcione tiempos de acceso que sean sublineales al numero de elementos en la colección". Por lo tanto, podría ser representado internamente como una tabla hash (con una busqueda O(1)), un árbol de búsqueda (con una busqueda de O(log(N))), o cualquier otra estructura de datos, mientras la complejidad sea mejor que O(N).
+
+### Igualdad de llaves
+
+La igualdad de valores se basa en el algoritmo [Igualdad SameValueZero](/es/docs/Web/JavaScript/Equality_comparisons_and_sameness#igualdad_same-value-zero). (Se solía usar [igualdad SameValue](/es/docs/Web/JavaScript/Equality_comparisons_and_sameness#igualdad_same-value), el cual trataba `0` y `-0` como diferentes. Revise [compatibilidad con navegadores](#compatibilidad_con_navegadores).) Lo que significa que {{jsxref("NaN")}} es conciderado lo mismo que `NaN` (a pesar de que `NaN !== NaN`) y todos los otros valores son conciderados iguales, de acuerdo a la semantica del operador `===`.
+
+### Objects vs. Maps
+
+{{jsxref("Object")}} es similar a `Map`—ambos te permiten asignar llaves a valores, recuperar esos valores, borrar llaves, y detectar si hay algo guardado en una llave. Por esta razón (y porque no había alternativas incorporadas), históricamente `Object` se ha usado como `Map`.
+
+Sin embargo, hay diferencias importantes que hacen que se prefiera a `Map` en algunos casos:
+
+
+
+
+
+
Map
+
Object
+
+
+
+
+
Llaves accidentales
+
+ Un objeto Map no tiene llaves por defecto. Sólo contiene lo que explicitamente se pone en él.
+
+
+
+ Un objeto Object tiene un prototipo, así que tiene llaves por defecto que podrían coincidir con tus propias llaves si no tienes cuidado.
+
+
+
+ Nota: Esto se puede evitar usando {{jsxref("Object.create", "Object.create(null)")}},
+ pero raramente se hace.
+
+
+
+
+
+
Seguridad
+
+ Un objeto Map es seguro de usar con llaves y valores proporcionados por el usuario.
+
+
+
+ Asignar tuplas de llave-valor proporcionadas por el usuario en un Object puede
+ permitir a un atacante sobreescribir el prototipo del objeto, lo que puede llevar a
+
+ ataques de inyección de objetos
+ . Al igual que el problema con la colisión de llaves, esto se puede mitigar usando un objeto con prototipo-null
+
+
+
+
+
Tipos de llaves
+
+ Las llaves de un objeto Map pueden ser cualquier valor (incluyendo funciones,
+ objetos, o cualquier primitivo).
+
+
+ Las llaves de un objeto Object deben ser {{jsxref("String")}} o un {{jsxref("Symbol")}}.
+
+
+
+
Orden de las llaves
+
+
+ Las llaves en un objeto Map son ordenadas de forma simple y directa: El objeto Map itera las entradas, llaves y valores en el orden en que fueron insertadas.
+
+
+
+
+ A pesar de que ahora las llaves de un objeto común Object están ordenadas, esto no siempre fué el caso, y el orden es complejo. Como resultado es mejor no confiar en el orden de las propiedades.
+
+
+ El orden en ECMAScript 2015 fué definido inicialmente para las propiedades propias del objeto; ECMAScript 2020 define un orden también para propiedades heredadas. Pero nótese que ningún mecanismo único itera todas las propiedades de un objeto; de los varios mecanismos, cada uno inluye un subconjunto diferente de propiedades; ({{jsxref("Statements/for...in", "for-in")}}
+ incluye sólo propiedades donde la llave es una cadena de texto enumerable;
+ {{jsxref("Object.keys")}} incluye sólo propiedades propias, enumerables,
+ y las llaves son cadenas de texto;
+ {{jsxref("Object.getOwnPropertyNames")}} incluye propias,
+ llaves de cadena de texto incluso si no son enumerables;
+ {{jsxref("Object.getOwnPropertySymbols")}} hace lo mismo sólo para propiedades que su llave es un Symbol etc.)
+
+
+
+
+
Tamaño
+
+ El número de elementos en un Map se obtiene fácilmente de su propiedad
+ {{jsxref("Map.prototype.size", "size")}}.
+
+
+ Determinar el número de elementos en un Objeto es mas indirecto y menos eficiente. Una forma común de hacerlo es através de la propiedad {{jsxref("Array/length", "length")}} del arreglo que regresa la función {{jsxref("Object.keys()")}}.
+
+
+
+
Iteración
+
+ Un Map es un
+ iterable, así que puede ser iterado directamente.
+
+
+
+ Object no implementa un protocolo de iteración, por eso los objetos no son directamente iterables usando la sentencia de JavaScript
+ for...of (por defecto).
+
+
+
Nota:
+
+
+ Un objeto puede implementar un protocolo de iteración, o puedes obtener un iterable para un objeto usando Object.keys o Object.entries.
+
+
+ La sentencia
+ for...in te permite que iteres sobre las propiedades
+ enumerables de un objeto.
+
+
+
+
+
+
+
Desempeño
+
+
+ Se desempeña mejor en escenarios que involucran adiciones y eliminaciones frecuentes de tuplas llave-valor.
+
+
+
+
+ No está optimizado para adiciones y eliminaciones frequentes de tuplas llave-valor.
+
+
+
+
+
Serialización y análisis de cadenas de texto
+
+
No tiene soporte nativo para serialización o análisis de cadenas de texto.
+
+ (Pero puedes construir tu propio soporte para serialización y análisis de cadenas de texto para
+ Map utilizando {{jsxref("JSON.stringify()")}}
+ con su argumento replacer, y utilizando
+ {{jsxref("JSON.parse()")}} con su argumento
+ reviver. Mirese la pregunta de Stack Overflow
+ How do you JSON.stringify an ES6 Map?).
+
+
+
+
+ Tiene soporte nativo para serialización de {{jsxref("Object")}} a
+ JSON, usando {{jsxref("JSON.stringify()")}}.
+
+
+ Tiene soporte nativo para análisis de cadenas de JSON a {{jsxref("Object")}},
+ usando {{jsxref("JSON.parse()")}}.
+
+
+
+
+
+
+### Asignando propiedades de objeto
+
+Asignar propiedades de objeto funciona también para objetos _Map_, y puede crear confusión.
+
+Por lo tanto, de alguna manera esto parece funcionar:
+
+```js example-bad
+const wrongMap = new Map();
+wrongMap["bla"] = "blaa";
+wrongMap["bla2"] = "blaaa2";
+
+console.log(wrongMap); // Map { bla: 'blaa', bla2: 'blaaa2' }
+```
+
+Pero esta manera de asignar una propiedad, no interactua con la estructura de datos del objeto _Map_. Utiliza la característica de el objeto genérico. El valor 'bla' no es guardado en el _Map_ para consultas. Otras operaciones que fallan:
+
+```js example-bad
+wrongMap.has("bla"); // false
+wrongMap.delete("bla"); // false
+console.log(wrongMap); // Map { bla: 'blaa', bla2: 'blaaa2' }
+```
+
+El uso correcto para guardar datos en el objeto _Map_ es através de el método `set(key, value)`.
+
+```js example-good
+const contacts = new Map();
+contacts.set("Jessie", {
+ telefono: "213-555-1234",
+ direccion: "123 N 1st Ave",
+});
+contacts.has("Jessie"); // true
+contacts.get("Hilary"); // undefined
+contacts.set("Hilary", { telefono: "617-555-4321", direccion: "321 S 2nd St" });
+contacts.get("Jessie"); // {teléfono: "213-555-1234", dirección: "123 N 1st Ave"}
+contacts.delete("Raymond"); // false
+contacts.delete("Jessie"); // true
+console.log(contacts.size); // 1
+```
+
+### APIs del navegador similares a Map
+
+**Objetos del Navegador similares a `Map`** (o "objetos que parecen _map_") son interfaces de la [API Web](/es/docs/Web/API) que se comportan en muchos aspectos como un objeto `Map`.
+
+Al igual que el objeto `Map`, las entradas pueden iterarse en el mismo orden en que fueron agregadas al objeto.
+Los objetos similares a `Map` y los objetos `Map` también tienen propiedades y métodos que comparten el mismo nombre y comportamiento. Sin embargo, contrario a los objetos `Map` estos sólo permiten tipos específicos predefinidos para las llaves y valores de cada entrada.
+
+Los tipos permitidos se encuentran en la especificación de la definición IDL (Interfaz de Descripcion del Lenguage). Por ejemplo, {{domxref("RTCStatsReport")}} es un objeto similar a `Map` que debe usar cadenas de caracteres para sus llaves, y objetos para sus valores. Esto está definido en la especificación IDL a continuación:
+
+```webidl
+interface RTCStatsReport {
+ readonly maplike;
+};
+```
+
+Los objetos similares a `Map` son o de solo-lectura o lectura-escritura (véase la palabra clave `readonly` en el IDL de arriba).
+
+- Los obejtos similares a `Map` de solo-lectura tienen la propiedad [`size`](#map.prototype.size), y los métodos: [`entries()`](#map.prototype.entries), [`forEach()`](#map.prototype.foreach), [`get()`](#map.prototype.get), [`has()`](#map.prototype.has), [`keys()`](#map.prototype.keys), [`values()`](#map.prototype.values), y [`[Symbol.iterator]()`](#map.prototypesymbol.iterator).
+- Los objetos similares a `Map` de lectura-escritura tienen métodos adicionales: [`clear()`](#map.prototype.clear), [`delete()`](#map.prototype.delete), y [`set()`](#map.prototype.set).
+
+Los métodos y propiedades tienen el mismo comportamiento que las entidades equivalentes en el objeto `Map`, excepto por la restricción en los tipos de llaves y valores.
+
+Los siguientes, son ejemplos de objetos de navegador similares a `Map`:
+
+- {{domxref("AudioParamMap")}}
+- {{domxref("RTCStatsReport")}}
+- {{domxref("EventCounts")}}
+- {{domxref("KeyboardLayoutMap")}}
+- {{domxref("MIDIInputMap")}}
+- {{domxref("MIDIOutputMap")}}
+
+## Constructor
+
+- {{jsxref("Map/Map", "Map()")}}
+ - : Crea un nuevo objeto `Map`.
+
+## Propiedades estáticas
+
+- [`Map[Symbol.species]`](/es/docs/Web/JavaScript/Reference/Global_Objects/Map/Symbol.species)
+ - : La función constructor que es usada para crear objetos derivados.
+
+## Metodos estáticos
+
+- {{jsxref("Map.groupBy()")}}
+ - : Agrupa los elementos de un iterable usando los valores que regresa la función provista. El objeto `Map` que regresa, usa como llaves los valores únicos de la función de prueba, los cuales pueden ser usados para obtener el arreglo de elementos de cada grupo.
+
+## Propiedades de instancia
+
+Estas propiedades están definidas en `Map.prototype` y las comparten todas las instancias de `Map`.
+
+- {{jsxref("Object/constructor", "Map.prototype.constructor")}}
+ - : La funcion constructor que creó el objeto de instancia. Para las instancias de `Map` el valor inicial es el constructor {{jsxref("Map/Map", "Map")}}.
+- {{jsxref("Map.prototype.size")}}
+ - : Regresa el número de tuplas llave/valor en el objeto `Map`.
+- `Map.prototype[Symbol.toStringTag]`
+ - : El valor inicial de la propiedad [`[Symbol.toStringTag]`](/es/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) es la cadena de caracteres `"Map"`. Esta propiedad es usada en {{jsxref("Object.prototype.toString()")}}.
+
+## Métodos de instancia
+
+- {{jsxref("Map.prototype.clear()")}}
+ - : Remueve todas las tuplas llave-valor del objeto `Map`.
+- {{jsxref("Map.prototype.delete()")}}
+ - : Regresa `true` si un elemento en el objeto `Map` existía y ha sido removido, or `false` si el elemento no existe.`map.has(key)` regresará `false` después de esto.
+- {{jsxref("Map.prototype.entries()")}}
+ - : Regresa un nuevo objeto Iterador que contiene un arreglo con dos miembros `[llave, valor]` por cada elemento en el objeto `Map` en orden de inserción.
+- {{jsxref("Map.prototype.forEach()")}}
+ - : Llama una función `callbackFn` una vez por cada tupla llave-valor presente en el objeto `Map`, en orden de inserción. Si un parametro `thisArg` es proporcionado a `forEach`, será utilizado como el valor `this` para cada llamada a la funcion callback.
+- {{jsxref("Map.prototype.get()")}}
+ - : Regresa el valor asociado a la llave que se pasa como argumento, o `undefined` si no hay ninguno.
+- {{jsxref("Map.prototype.has()")}}
+ - : Regresa un booleano indicando si, en el objeto `Map` un valor ha sido asociado a la llave pasada como argumento.
+- {{jsxref("Map.prototype.keys()")}}
+ - : Regresa un nuevo objeto Iterador que contiene las llaves para cada elemento en el objeto `Map`, en orden de inserción.
+- {{jsxref("Map.prototype.set()")}}
+ - : Asigna el valor en el objeto `Map` para la llave pasada como argumento. Regresa el objeto `Map`.
+- {{jsxref("Map.prototype.values()")}}
+ - : Regresa un nuevo objeto Iterador que contiene los valores para cada elemento en un objeto `Map`, en orden de inserción.
+- [`Map.prototype[Symbol.iterator]()`](/es/docs/Web/JavaScript/Reference/Global_Objects/Map/Symbol.iterator)
+ - : Regresa un nuevo objeto Iterador que contiene un arreglo con dos miembros `[llave, valor]` por cada elemento en el objeto `Map`, en orden de inserción.
+
+## Ejemplos
+
+### Usando el objeto Map
+
+```js
+const myMap = new Map();
+
+const keyString = "a string";
+const keyObj = {};
+const keyFunc = function () {};
+
+// asignando valores
+myMap.set(keyString, "valor asociado con la llave 'a string'");
+myMap.set(keyObj, "valor asociado con la llave keyObj");
+myMap.set(keyFunc, "valor asociado con la llave keyFunc");
+
+console.log(myMap.size); // 3
+
+// obteniendo los valores
+console.log(myMap.get(keyString)); // "valor asociado con la llave 'a string'"
+console.log(myMap.get(keyObj)); // "valor asociado con la llave keyObj"
+console.log(myMap.get(keyFunc)); // "valor asociado con la llave keyFunc"
+
+console.log(myMap.get("a string")); // "valor asociado con la llave 'a string'", porque keyString === 'a string'
+console.log(myMap.get({})); // undefined, porque keyObj !== {}
+console.log(myMap.get(function () {})); // undefined, porque keyFunc !== function () {}
+```
+
+### Usando NaN como llave de Map
+
+{{jsxref("NaN")}} puede también usarse como una llave. A pesar que cada `NaN` no es igual a si mismo (`NaN !== NaN` es verdadero), el siguiente ejemplo funciona porque los `NaN` son indistinguibles entre sí:
+
+```js
+const myMap = new Map();
+myMap.set(NaN, "not a number");
+
+myMap.get(NaN);
+// "not a number"
+
+const otherNaN = Number("foo");
+myMap.get(otherNaN);
+// "not a number"
+```
+
+### Iterando Map con for...of
+
+Los Maps pueden iterarse usando un bucle `for...of`:
+
+```js
+const myMap = new Map();
+myMap.set(0, "zero");
+myMap.set(1, "one");
+
+for (const [key, value] of myMap) {
+ console.log(`${key} = ${value}`);
+}
+// 0 = zero
+// 1 = one
+
+for (const key of myMap.keys()) {
+ console.log(key);
+}
+// 0
+// 1
+
+for (const value of myMap.values()) {
+ console.log(value);
+}
+// zero
+// one
+
+for (const [key, value] of myMap.entries()) {
+ console.log(`${key} = ${value}`);
+}
+// 0 = zero
+// 1 = one
+```
+
+### Iterando Map con forEach()
+
+Los Maps pueden iterarse usando el método {{jsxref("Map/forEach", "forEach()")}}:
+
+```js
+myMap.forEach((value, key) => {
+ console.log(`${key} = ${value}`);
+});
+// 0 = zero
+// 1 = one
+```
+
+### Relación con objetos Array
+
+```js
+const kvArray = [
+ ["key1", "value1"],
+ ["key2", "value2"],
+];
+
+// Usa el constructor ordinario Map para transformar un Array 2D llave-valor a un map
+const myMap = new Map(kvArray);
+
+console.log(myMap.get("key1")); // "value1"
+
+// Usa Array.from() para transformar un map a un Array 2D llave-valor
+console.log(Array.from(myMap)); // Mostrará exactamente el mismo Array como kvArray
+
+// Una forma concisa de hacer lo mismo, usando la sintaxis spread
+console.log([...myMap]);
+
+// O usa los iteradores keys() o values(), y conviertelos a un arreglo
+console.log(Array.from(myMap.keys())); // ["key1", "key2"]
+```
+
+### Clonando y uniendo Maps
+
+Así como los `Array`, los `Map` pueden clonarse:
+
+```js
+const original = new Map([[1, "one"]]);
+
+const clone = new Map(original);
+
+console.log(clone.get(1)); // one
+console.log(original === clone); // false (útil para comparaciones superficiales)
+```
+
+> [!NOTE]
+> Tenga en cuenta que _los datos en si_ no se clonan.
+
+Los objetos _Map_ pueden unirse, manteniendo la unicidad de las llaves:
+
+```js
+const first = new Map([
+ [1, "one"],
+ [2, "two"],
+ [3, "three"],
+]);
+
+const second = new Map([
+ [1, "uno"],
+ [2, "dos"],
+]);
+
+// Al unir ambos maps. La ultima llave repetida gana.
+// la sintaxis Spread convierte un Map a un Array
+const merged = new Map([...first, ...second]);
+
+console.log(merged.get(1)); // uno
+console.log(merged.get(2)); // dos
+console.log(merged.get(3)); // three
+```
+
+Los Maps también pueden unirse a Arrays:
+
+```js
+const first = new Map([
+ [1, "one"],
+ [2, "two"],
+ [3, "three"],
+]);
+
+const second = new Map([
+ [1, "uno"],
+ [2, "dos"],
+]);
+
+// Merge maps with an array. The last repeated key wins.
+const merged = new Map([...first, ...second, [1, "eins"]]);
+
+console.log(merged.get(1)); // eins
+console.log(merged.get(2)); // dos
+console.log(merged.get(3)); // three
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- [Polyfill para `Map` en `core-js`](https://github.com/zloirock/core-js#map)
+- {{jsxref("Set")}}
+- {{jsxref("WeakMap")}}
+- {{jsxref("WeakSet")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/keys/index.md b/files/es/web/javascript/reference/global_objects/map/keys/index.md
new file mode 100644
index 00000000000000..54d860d274af53
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/keys/index.md
@@ -0,0 +1,56 @@
+---
+title: Map.prototype.keys()
+slug: Web/JavaScript/Reference/Global_Objects/Map/keys
+l10n:
+ sourceCommit: 27180875516cc311342e74b596bfb589b7211e0c
+---
+
+{{JSRef}}
+
+El método **`keys()`** de las instancias {{jsxref("Map")}} regresa un nuevo objeto _[iterator de map](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator)_ que contiene las llaves para cada elemento en este _map_ en orden de inserción.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-keys.html")}}
+
+## Sintaxis
+
+```js-nolint
+keys()
+```
+
+### Parámetros
+
+Ningúno.
+
+### Valor devuelto
+
+Un nuevo [objeto iterator iterable](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator).
+
+## Ejemplos
+
+### Usando keys()
+
+```js
+const myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+const mapIter = myMap.keys();
+
+console.log(mapIter.next().value); // "0"
+console.log(mapIter.next().value); // 1
+console.log(mapIter.next().value); // {}
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map.prototype.entries()")}}
+- {{jsxref("Map.prototype.values()")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/map/index.md b/files/es/web/javascript/reference/global_objects/map/map/index.md
new file mode 100644
index 00000000000000..6b21f63ae72a04
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/map/index.md
@@ -0,0 +1,53 @@
+---
+title: Map() constructor
+slug: Web/JavaScript/Reference/Global_Objects/Map/Map
+l10n:
+ sourceCommit: 70f09675ddcfc75a3bb66d2dce4cf82738948a37
+---
+
+{{JSRef}}
+
+El constructor **`Map()`** crea objetos de tipo {{jsxref("Map")}}.
+
+## Sintaxis
+
+```js-nolint
+new Map()
+new Map(iterable)
+```
+
+> **Nota:** `Map()` sólo puede ser construido con la palabra clave [`new`](/es/docs/Web/JavaScript/Reference/Operators/new). Intentar llamaro sin la palabra clave `new` arroja un {{jsxref("TypeError")}}.
+
+### Parametros
+
+- `iterable` {{optional_inline}}
+ - : Un objeto {{jsxref("Array")}} u otro objeto
+ [iterable](/es/docs/Web/JavaScript/Reference/Iteration_protocols) cuyos elementos sean tuplas llave-valor. (Por ejemplo, arreglos con dos elementos,
+ tales como `[[ 1, 'one' ],[ 2, 'two' ]]`.) Cada tupla llave-valor es agregada al nuevo objeto `Map`.
+
+## Ejemplos
+
+### Creando un nuevo objeto Map
+
+```js
+const myMap = new Map([
+ [1, "one"],
+ [2, "two"],
+ [3, "three"],
+]);
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- [Polyfill para `Map` en `core-js`](https://github.com/zloirock/core-js#map)
+- {{jsxref("Set")}}
+- {{jsxref("WeakMap")}}
+- {{jsxref("WeakSet")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/set/index.md b/files/es/web/javascript/reference/global_objects/map/set/index.md
new file mode 100644
index 00000000000000..b0c111f98fe52d
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/set/index.md
@@ -0,0 +1,67 @@
+---
+title: Map.prototype.set()
+slug: Web/JavaScript/Reference/Global_Objects/Map/set
+l10n:
+ sourceCommit: 3cfd663738e9963157d90f359789d675a6662ec2
+---
+
+{{JSRef}}
+
+El método **`set()`** de las instancias {{jsxref("Map")}} agrega o actualiza una entrada en este _map_ con la llave y valor especificados.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-set.html")}}
+
+## Sintaxis
+
+```js-nolint
+set(key, value)
+```
+
+### Parámetros
+
+- `key`
+ - : La llave del elemento que se va a agregar al objeto `Map`. La llave puede ser cualquiera de los [tipos de dato de JavaScript](/es/docs/Web/JavaScript/Data_structures) (cualquier [valor primitivo](/es/docs/Web/JavaScript/Data_structures#valores_primitivos) o cualquier tipo de [objeto JavaScript](/es/docs/Web/JavaScript/Data_structures#objetos)).
+- `value`
+ - : El valor de el elemento que se va a agregar al objeto `Map`. El valor puede ser cualquiera de los [tipos de dato de JavaScript](/es/docs/Web/JavaScript/Data_structures) (cualquier [valor primitivo](/es/docs/Web/JavaScript/Data_structures#valores_primitivos) o cualquier tipo de [objeto JavaScript](/es/docs/Web/JavaScript/Data_structures#objetos)).
+
+### Valor devuelto
+
+El objeto `Map`.
+
+## Ejemplos
+
+### Usando set()
+
+```js
+const myMap = new Map();
+
+// Agrega nuevos elementos a el map
+myMap.set("bar", "foo");
+myMap.set(1, "foobar");
+
+// Actualiza un elemento en el map
+myMap.set("bar", "baz");
+```
+
+### Usando set() encadenandolo
+
+Ya que el método `set()` regresa el mismo objeto `Map`, puedes encadenar la llamada al método como se muestra acontinuación:
+
+```js
+// Agrega nuevos elementos al map, encadenando las llamadas.
+myMap.set("bar", "foo").set(1, "foobar").set(2, "baz");
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map")}}
+- {{jsxref("Map.prototype.get()")}}
+- {{jsxref("Map.prototype.has()")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/symbol.iterator/index.md b/files/es/web/javascript/reference/global_objects/map/symbol.iterator/index.md
new file mode 100644
index 00000000000000..5da76caa464a4c
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/symbol.iterator/index.md
@@ -0,0 +1,89 @@
+---
+title: Map.prototype[Symbol.iterator]()
+slug: Web/JavaScript/Reference/Global_Objects/Map/Symbol.iterator
+l10n:
+ sourceCommit: 6fbdb78c1362fae31fbd545f4b2d9c51987a6bca
+---
+
+{{JSRef}}
+
+El método **`[Symbol.iterator]()`** de las instancias {{jsxref("Map")}} implementa el [protocolo de iteración](/es/docs/Web/JavaScript/Reference/Iteration_protocols) y permite a los objetos `Map` ser consumidos por la mayoría de sintaxis que esperan iterables, como lo es, la [sintaxis spread](/es/docs/Web/JavaScript/Reference/Operators/Spread_syntax) y el bucle {{jsxref("Statements/for...of", "for...of")}}. Este método regresa un [objeto iterator de map](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator) que produce tuplas llave-valor del _map_ en orden de inserción.
+
+El valor inicial de esta propiedad, es el mismo objeto de función que el valor inicial de la propiedad {{jsxref("Map.prototype.entries")}}.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-@@iterator.html")}}
+
+## Sintaxis
+
+```js-nolint
+map[Symbol.iterator]()
+```
+
+### Parámetros
+
+Ningúno.
+
+### Valor devuelto
+
+El mismo valor devuelto que {{jsxref("Map.prototype.entries()")}}: un nuevo [objeto iterator iterable](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator) que produce tuplas llave-valor del _map_.
+
+## Ejemplo
+
+### Iteración usando el bucle for...of
+
+Note que raramente necesitará llamar este método directamente. La existencia de el método `[Symbol.iterator]()` hace a los objetos `Map` [iterables](/es/docs/Web/JavaScript/Reference/Iteration_protocols#el_protocolo_iterable), y sintaxis de iteracion como lo és el bucle `for...of` automáticamente llama a este método para obtener el iterador que se usará para iterar sobre el objeto.
+
+```js
+const myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+for (const entry of myMap) {
+ console.log(entry);
+}
+// ["0", "foo"]
+// [1, "bar"]
+// [{}, "baz"]
+
+for (const [key, value] of myMap) {
+ console.log(`${key}: ${value}`);
+}
+// 0: foo
+// 1: bar
+// [Object]: baz
+```
+
+### Manualmente moviendo el iterador
+
+Puedes llamar manualmente el método `next()` del objeto iterator para tener máximo control sobre el proceso de iteración.
+
+```js
+const myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+const mapIter = myMap[Symbol.iterator]();
+
+console.log(mapIter.next().value); // ["0", "foo"]
+console.log(mapIter.next().value); // [1, "bar"]
+console.log(mapIter.next().value); // [Object, "baz"]
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map")}}
+- {{jsxref("Map.prototype.entries()")}}
+- {{jsxref("Map.prototype.keys()")}}
+- {{jsxref("Map.prototype.values()")}}
+- {{jsxref("Symbol.iterator")}}
+- [Protocolos de Iteración](/es/docs/Web/JavaScript/Reference/Iteration_protocols)
diff --git a/files/es/web/javascript/reference/global_objects/map/symbol.species/index.md b/files/es/web/javascript/reference/global_objects/map/symbol.species/index.md
new file mode 100644
index 00000000000000..001953a518c9ff
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/symbol.species/index.md
@@ -0,0 +1,63 @@
+---
+title: Map[Symbol.species]
+slug: Web/JavaScript/Reference/Global_Objects/Map/Symbol.species
+l10n:
+ sourceCommit: 8421c0cd94fa5aa237c833ac6d24885edbc7d721
+---
+
+{{JSRef}}
+
+La propiedad estática de acceso **`Map[Symbol.species]`** es una propiedad de acceso no utilizada que especifica como hacer copias de objetos `Map`.
+
+## Sintaxis
+
+```js-nolint
+Map[Symbol.species]
+```
+
+### Valor devuelto
+
+El valor de el constructor (`this`) en el cual se llamó `get [Symbol.species]`. El valor devuelto es usado para construir copias de instancias de `Map`.
+
+## Descripción
+
+La propiedad de acceso `[Symbol.species]` regresa el constructor por defecto para los objetos `Map`. Los constructores de las subclases pueden sobreescribirla para cambiar la asignación del constructor.
+
+> [!NOTE]
+> Esta es una propiedad que actualmente no es utilizada por ningúno de los métodos de `Map`.
+
+## Ejemplos
+
+### Species en objetos ordinarios
+
+La propiedad `[Symbol.species]` regresa la función constructora por defecto, la cual es el constructor `Map` para `Map`.
+
+```js
+Map[Symbol.species]; // function Map()
+```
+
+### Species en objetos derivados
+
+En una instancia de una subclase personalizada `Map`, como lo es `MyMap`, la propiedad _species_ de `MyMap` es el constructor de `MyMap`. Sin embargo, podrías desear sobreescribirla para regresar objetos del objeto padre `Map` en los métodos de tu clase derivada:
+
+```js
+class MyMap extends Map {
+ // Sobrescribir species de MyMap en el constructor del Map padre
+ static get [Symbol.species]() {
+ return Map;
+ }
+}
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map")}}
+- {{jsxref("Symbol.species")}}
diff --git a/files/es/web/javascript/reference/global_objects/map/values/index.md b/files/es/web/javascript/reference/global_objects/map/values/index.md
new file mode 100644
index 00000000000000..3eae6bc0d3487e
--- /dev/null
+++ b/files/es/web/javascript/reference/global_objects/map/values/index.md
@@ -0,0 +1,56 @@
+---
+title: Map.prototype.values()
+slug: Web/JavaScript/Reference/Global_Objects/Map/values
+l10n:
+ sourceCommit: 27180875516cc311342e74b596bfb589b7211e0c
+---
+
+{{JSRef}}
+
+El método **`values()`** de las instancias {{jsxref("Map")}} regresa un nuevo objeto _[iterator de mapa](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator)_ que contiene los valores de cada elemento en este _map_ en orden de inserción.
+
+{{EmbedInteractiveExample("pages/js/map-prototype-values.html")}}
+
+## Sintaxis
+
+```js-nolint
+values()
+```
+
+### Parámetros
+
+Ningúno.
+
+### Valor devuelto
+
+Un nuevo [objeto de tipo iterator iterable](/es/docs/Web/JavaScript/Reference/Global_Objects/Iterator).
+
+## Ejemplos
+
+### Usando values()
+
+```js
+const myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+const mapIter = myMap.values();
+
+console.log(mapIter.next().value); // "foo"
+console.log(mapIter.next().value); // "bar"
+console.log(mapIter.next().value); // "baz"
+```
+
+## Especificaciones
+
+{{Specifications}}
+
+## Compatibilidad con navegadores
+
+{{Compat}}
+
+## Véase también
+
+- {{jsxref("Map.prototype.entries()")}}
+- {{jsxref("Map.prototype.keys()")}}
diff --git a/files/es/web/http/basics_of_http/choosing_between_www_and_non-www_urls/index.md b/files/es/web/uri/authority/choosing_between_www_and_non-www_urls/index.md
similarity index 97%
rename from files/es/web/http/basics_of_http/choosing_between_www_and_non-www_urls/index.md
rename to files/es/web/uri/authority/choosing_between_www_and_non-www_urls/index.md
index de26f6bb111af7..a5c239f56dd645 100644
--- a/files/es/web/http/basics_of_http/choosing_between_www_and_non-www_urls/index.md
+++ b/files/es/web/uri/authority/choosing_between_www_and_non-www_urls/index.md
@@ -1,6 +1,7 @@
---
title: Elección entre www y no-www URLs
-slug: Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs
+slug: Web/URI/Authority/Choosing_between_www_and_non-www_URLs
+original_slug: Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs
---
{{HTTPSidebar}}
diff --git a/files/es/web/http/basics_of_http/data_urls/index.md b/files/es/web/uri/schemes/data/index.md
similarity index 98%
rename from files/es/web/http/basics_of_http/data_urls/index.md
rename to files/es/web/uri/schemes/data/index.md
index b9ccaf8f807637..3e601ff63ecd25 100644
--- a/files/es/web/http/basics_of_http/data_urls/index.md
+++ b/files/es/web/uri/schemes/data/index.md
@@ -1,6 +1,7 @@
---
title: Datos URIs
-slug: Web/HTTP/Basics_of_HTTP/Data_URLs
+slug: Web/URI/Schemes/data
+original_slug: Web/HTTP/Basics_of_HTTP/Data_URLs
---
{{HTTPSidebar}}
diff --git a/files/fr/glossary/abstraction/index.md b/files/fr/glossary/abstraction/index.md
index d654054f0dfdff..93276d683c1990 100644
--- a/files/fr/glossary/abstraction/index.md
+++ b/files/fr/glossary/abstraction/index.md
@@ -2,19 +2,19 @@
title: Abstraction
slug: Glossary/Abstraction
l10n:
- sourceCommit: ada5fa5ef15eadd44b549ecf906423b4a2092f34
+ sourceCommit: 7a551aaa034fbada3eb99e6fc924a0313b78307f
---
{{GlossarySidebar}}
-L'_abstraction_ dans le domaine de la [programmation informatique](/fr/docs/Glossary/Computer_Programming) permet de réduire la complexité et d'obtenir une conception et une implémentation plus efficaces dans les systèmes logiciels complexes. Elle dissimule les complexités techniques des systèmes derrière des [API](/fr/docs/Glossary/API) plus simples à manipuler.
+L'**abstraction** dans le domaine de la [programmation informatique](/fr/docs/Glossary/Computer_Programming) permet de réduire la complexité et d'obtenir une conception et une implémentation plus efficaces dans les systèmes logiciels complexes. Elle dissimule les complexités techniques des systèmes derrière des [API](/fr/docs/Glossary/API) plus simples à manipuler.
## Avantages de l'abstraction de données
-- Aider l'utilisatrice ou l'utilisateur à éviter d'écrire du code de bas niveau.
+- Éviter d'écrire du code de bas niveau.
- Éviter la duplication de code et augmenter la réutilisabilité.
-- Pouvoir modifier l'implémentation interne de la classe indépendamment sans affecter l'utilisatrice ou l'utilisateur.
-- Aider à augmenter la sécurité d'une application ou d'un programme car seuls les détails importants sont fournis à l'utilisatrice ou l'utilisateur.
+- Pouvoir modifier l'implémentation interne d'une classe objet, sans affecter les personnes ou codes qui l'utilisent.
+- Améliorer la sécurité d'une application ou d'un programme en exposant uniquement les détails importants pour l'usage.
## Exemple
@@ -41,4 +41,4 @@ obj.display();
## Voir aussi
-- [Abstraction]() sur Wikipédia.
+- [Abstraction]() sur Wikipédia
diff --git a/files/fr/glossary/accessibility/index.md b/files/fr/glossary/accessibility/index.md
index 7bc57fa9c60ddf..4bea6aee9f0c97 100644
--- a/files/fr/glossary/accessibility/index.md
+++ b/files/fr/glossary/accessibility/index.md
@@ -2,19 +2,19 @@
title: Accessibilité
slug: Glossary/Accessibility
l10n:
- sourceCommit: ada5fa5ef15eadd44b549ecf906423b4a2092f34
+ sourceCommit: 7a551aaa034fbada3eb99e6fc924a0313b78307f
---
{{GlossarySidebar}}
-_L'Accessibilité du web_ (**A11Y**) correspond aux bonnes pratiques assurant qu'un site web reste utilisable indépendamment des conditions de navigation et possibles handicaps de l'utilisateur. L'accessibilité du web est définie formellement et discutée au [W3C](/fr/docs/Glossary/W3C) au travers de [l'initiative pour l'accessibilité du web](/fr/docs/Glossary/WAI) (WAI).
+**L'accessibilité** (parfois abrégée en **A11Y** pour accessibility en anglais) correspond aux bonnes pratiques assurant qu'un site web reste utilisable indépendamment des conditions de navigation et possibles handicaps de la personne. L'accessibilité du web est définie formellement et discutée au [W3C](/fr/docs/Glossary/W3C) au travers de [l'initiative pour l'accessibilité du Web (WAI)](/fr/docs/Glossary/WAI).
## Voir aussi
-- [Ressources sur l'accessibilité sur le MDN](/fr/docs/Accessibility)
-- [Le guide sur l'accessibilité sur le MDN](/fr/docs/Learn/Accessibility)
-- [La Documentation ARIA sur le MDN](/fr/docs/Web/Accessibility/ARIA)
-- [La recommandation WAI-ARIA](http://www.w3.org/TR/wai-aria/) sur le site du W3C (en anglais)
+- [Ressources sur l'accessibilité](/fr/docs/Web/Accessibility)
+- [Le guide sur l'accessibilité](/fr/docs/Learn/Accessibility)
+- [La documentation ARIA](/fr/docs/Web/Accessibility/ARIA)
+- [La recommandation WAI-ARIA](https://www.w3.org/TR/wai-aria/) sur le site du W3C (en anglais)
- [Accessibilité du web](https://fr.wikipedia.org/wiki/Accessibilité_du_web) sur Wikipédia
-- [La page d'accueil de l'institut Web Accessibility in Mind](https://webaim.org/) (en anglais)
-- [La page d'accueil du W3C de la Web Accessibility Initiative](https://www.w3.org/WAI/) (en anglais)
+- [La page d'accueil du W3C de la Web Accessibility Initiative](https://www.w3.org/WAI/) (en anglais)
+- [La page d'accueil de l'institut Web Accessibility in Mind](https://webaim.org/) (en anglais)
diff --git a/files/fr/glossary/adobe_flash/index.md b/files/fr/glossary/adobe_flash/index.md
index e38c91b01fbf4d..d4f348d16e9eac 100644
--- a/files/fr/glossary/adobe_flash/index.md
+++ b/files/fr/glossary/adobe_flash/index.md
@@ -2,12 +2,12 @@
title: Adobe Flash
slug: Glossary/Adobe_Flash
l10n:
- sourceCommit: 0c163056cfe83fba519b757f15d2e20f83eddaff
+ sourceCommit: 7a551aaa034fbada3eb99e6fc924a0313b78307f
---
{{GlossarySidebar}}
-[Adobe Flash](https://fr.wikipedia.org/wiki/Adobe_Flash) est une technologie obsolète, développée par Adobe Systems, qui permet de créer des applications internet riches, des graphiques vectoriels et des applications multimédias.
+[**Flash**](https://fr.wikipedia.org/wiki/Adobe_Flash) est une technologie obsolète, développée par Adobe, qui permet de créer des applications web riches, du contenu multimédia et de diffuser des médias.
Depuis 2021, Flash n'est plus pris en charge par Adobe ni par aucun des principaux navigateurs web.
diff --git a/files/fr/glossary/baseline/typography/index.md b/files/fr/glossary/baseline/typography/index.md
index f2bbfb8108bd6c..b7cf47ada576ab 100644
--- a/files/fr/glossary/baseline/typography/index.md
+++ b/files/fr/glossary/baseline/typography/index.md
@@ -2,16 +2,16 @@
title: Ligne de base (typographie)
slug: Glossary/Baseline/Typography
l10n:
- sourceCommit: 36527a8af0f396e8b84de3cda578d9e0fe1860f4
+ sourceCommit: 7a551aaa034fbada3eb99e6fc924a0313b78307f
---
{{GlossarySidebar}}
-La **ligne de base** est une notion utilisée en typographie qui représente la ligne imaginaire sur laquelle repose les différents caractères d'un texte.
+La **ligne de base** est une notion utilisée en typographie qui représente la ligne imaginaire sur laquelle reposent les différents caractères d'un texte.
-{{GlossaryDisambiguation}}
+Les écritures d'Asie orientale n'ont pas de ligne de base. Chaque glyphe s'inscrit dans une boîte carrée, sans jambage ni hampe. Lors que des caractères d'Asie orientale sont mélangés avec des écritures ayant une ligne de base basse, le bas du caractère asiatique se situe entre la ligne de base et la hauteur du jambage.
## Voir aussi
-- [La page Wikipédia sur la ligne de base]()
- [Alignement des boîtes CSS](/fr/docs/Web/CSS/CSS_box_alignment#types_dalignement)
+- [La page Wikipédia sur la ligne de base]()
diff --git a/files/fr/glossary/block/scripting/index.md b/files/fr/glossary/block/scripting/index.md
index d4d3e9043102f6..55b112e767a431 100644
--- a/files/fr/glossary/block/scripting/index.md
+++ b/files/fr/glossary/block/scripting/index.md
@@ -1,14 +1,14 @@
---
title: Bloc (script)
slug: Glossary/Block/Scripting
+l10n:
+ sourceCommit: 7a551aaa034fbada3eb99e6fc924a0313b78307f
---
{{GlossarySidebar}}
-En {{glossary("JavaScript")}}, un bloc est un ensemble d'{{glossary("statement","instructions")}} entouré d'accolades ("{}"). Par exemple, vous pouvez placer un bloc d'instructions après {{jsxref("Statements/if...else","if (condition)")}} pour indiquer à l'interpréteur d'ignorer la totalité du bloc si la condition est fausse.
+En [JavaScript](/fr/docs/Glossary/JavaScript), un **bloc** est un ensemble d'[instructions](/fr/docs/Glossary/Statement) entouré d'accolades (`{}`). Par exemple, vous pouvez placer un bloc d'instructions après un bloc conditionnel [`if`](/fr/docs/Web/JavaScript/Reference/Statements/if...else) pour indiquer au moteur JavaScript d'ignorer la totalité du bloc si la condition est fausse.
-## Pour en savoir plus
+## Voir aussi
-### Apprendre à ce sujet
-
-- [Bloc d'instructions en JavaScript](/fr/docs/Web/JavaScript/Reference/Instructions/bloc)
+- [Bloc d'instructions en JavaScript](/fr/docs/Web/JavaScript/Reference/Statements/block)
diff --git a/files/fr/glossary/block_cipher_mode_of_operation/index.md b/files/fr/glossary/block_cipher_mode_of_operation/index.md
index 5265bcd5860137..733979d813ce9d 100644
--- a/files/fr/glossary/block_cipher_mode_of_operation/index.md
+++ b/files/fr/glossary/block_cipher_mode_of_operation/index.md
@@ -1,10 +1,12 @@
---
-title: Block cipher mode of operation
+title: Mode de fonctionnement de chiffrement par bloc
slug: Glossary/Block_cipher_mode_of_operation
+l10n:
+ sourceCommit: 7a551aaa034fbada3eb99e6fc924a0313b78307f
---
{{GlossarySidebar}}
-Un mode de fonctionnement de chiffrement par bloc, généralement appelé simplement "mode" dans le contexte, spécifie comment un chiffrement par bloc doit être utilisé pour chiffrer ou déchiffrer les messages qui sont plus longs que la taille du bloc.
+Un **mode de fonctionnement de chiffrement par bloc**, généralement appelé simplement « mode » dans le contexte, spécifie comment un chiffrement par bloc doit être utilisé pour chiffrer ou déchiffrer les messages qui sont plus longs que la taille du bloc.
-La plupart des algorithmes à clé symétrique actuellement utilisés sont des chiffrements par blocs: cela signifie qu'ils chiffrent les données un bloc à la fois. La taille de chaque bloc est fixe et déterminée par l'algorithme : par exemple [AES](/fr/docs/Glossary/AES) utilise des blocs de 16 octets. Les chiffrements de bloc sont toujours utilisés avec un mode, qui spécifie comment chiffrer en toute sécurité les messages plus longs que la taille du bloc. Par exemple, AES est un chiffrement, tandis que CTR, CBC et GCM sont tous des modes. L'utilisation d'un mode inapproprié ou une utilisation incorrecte d'un mode peut compromettre complètement la sécurité fournie par le chiffrement sous-jacent.
+La plupart des algorithmes à clé symétrique actuellement utilisés sont des chiffrements par bloc : cela signifie qu'ils chiffrent les données un bloc à la fois. La taille de chaque bloc est fixe et déterminée par l'algorithme : par exemple, AES utilise des blocs de 16 octets. Les chiffrements de bloc sont toujours utilisés avec un mode, qui spécifie comment chiffrer en toute sécurité les messages plus longs que la taille du bloc. Par exemple, AES est un chiffrement, tandis que CTR, CBC et GCM sont tous des modes. L'utilisation d'un mode inapproprié ou une utilisation incorrecte d'un mode peut compromettre complètement la sécurité fournie par le chiffrement sous-jacent.
diff --git a/files/fr/glossary/buffer/index.md b/files/fr/glossary/buffer/index.md
index e23710ae12760f..3780c88ab94e34 100644
--- a/files/fr/glossary/buffer/index.md
+++ b/files/fr/glossary/buffer/index.md
@@ -1,14 +1,14 @@
---
title: Tampon
slug: Glossary/Buffer
+l10n:
+ sourceCommit: 7a551aaa034fbada3eb99e6fc924a0313b78307f
---
{{GlossarySidebar}}
-Un tampon est un stockage dans la mémoire physique utilisé pour stocker temporairement des données pendant leur transfert d'un endroit à un autre.
+Un **tampon** (buffer en anglais) est un emplacement dans la mémoire physique utilisé pour stocker temporairement des données pendant leur transfert d'un endroit à un autre.
## Voir aussi
-### Culture générale
-
- [Mémoire tampon](https://fr.wikipedia.org/wiki/Mémoire_tampon) sur Wikipédia
diff --git a/files/fr/glossary/caldav/index.md b/files/fr/glossary/caldav/index.md
index 6a83019fab68ec..e3fb95d6009954 100644
--- a/files/fr/glossary/caldav/index.md
+++ b/files/fr/glossary/caldav/index.md
@@ -5,15 +5,10 @@ slug: Glossary/CalDAV
{{GlossarySidebar}}
-CalDAV (extensions de gestion de calendrier pour {{Glossary("WebDAV")}}) est un {{glossary("protocol","protocole")}} normalisé par l'IETF utilisé pour accéder à distance à des données d'agendas stockées sur un {{glossary("server","serveur")}}.
+**CalDAV** (extensions de gestion de calendrier pour [WebDAV](/fr/docs/Glossary/WebDAV) est [un protocole](/fr/docs/Glossary/Protocol) normalisé par [l'IETF](/fr/docs/Glossary/IETF) et utilisé pour accéder à distance à des données d'agendas stockées sur [un serveur](/fr/docs/Glossary/Server).
-## Pour en savoir plus
-
-### Culture générale
+## Voir aussi
- [CalDAV](https://fr.wikipedia.org/wiki/CalDAV) sur Wikipédia
-
-### Référence technique
-
-- [RFC 4791: Calendaring extensions to WebDAV (CalDAV)](http://tools.ietf.org/html/rfc4791)
-- [RFC 6638: Scheduling Extensions to CalDAV](http://tools.ietf.org/html/rfc6638)
+- [La RFC 4791 qui spécifie ce protocole (en anglais)](https://datatracker.ietf.org/doc/html/rfc4791)
+- [La RFC 6638 qui spécifie les extensions au protocole CalDAV (en anglais)](https://datatracker.ietf.org/doc/html/rfc6638)
diff --git a/files/fr/web/api/websockets_api/writing_websocket_client_applications/index.md b/files/fr/web/api/websockets_api/writing_websocket_client_applications/index.md
index 2dcec9f0603772..75a49e8dafbd8d 100644
--- a/files/fr/web/api/websockets_api/writing_websocket_client_applications/index.md
+++ b/files/fr/web/api/websockets_api/writing_websocket_client_applications/index.md
@@ -14,7 +14,7 @@ Les WebSockets représentent une technologie, basée sur le protocole web socket
## Création d'un objet WebSocket
-Pour utiliser le protocole WebSocket, il faut créer un objet [`WebSocket`](/fr/docs/Web/API/WebSockets/WebSockets_reference/WebSocket) ; celui-ci essaiera automatiquement d'ouvrir une connexion avec le server.
+Pour utiliser le protocole WebSocket, il faut créer un objet [`WebSocket`](/fr/docs/Web/API/WebSocket) ; celui-ci essaiera automatiquement d'ouvrir une connexion avec le server.
Le constructeur WebSocket accepte un paramètre obligatoire et un paramètre optionnel :
@@ -42,9 +42,9 @@ Le constructeur peut renvoyer des exceptions:
### Erreurs de connexion
-Si une erreur se produit lors de la tentative de connexion, un évènement nommé "error" est d'abord renvoyé à l'objet [`WebSocket`](/fr/docs/Web/API/WebSockets/WebSockets_reference/WebSocket) (invoquant ainsi son gestionnaire d'évènement `onerror`) suivi d'un évènement [`CloseEvent`](/fr/docs/Web/API/WebSockets/WebSockets_reference/CloseEvent) (qui invoque alors son gestionnaire d'évènement `onclose`) indiquant la raison de la clôture.
+Si une erreur se produit lors de la tentative de connexion, un évènement nommé "error" est d'abord renvoyé à l'objet [`WebSocket`](/fr/docs/Web/API/WebSocket) (invoquant ainsi son gestionnaire d'évènement `onerror`) suivi d'un évènement [`CloseEvent`](/fr/docs/Web/API/CloseEvent) (qui invoque alors son gestionnaire d'évènement `onclose`) indiquant la raison de la clôture.
-A partir de Firefox 11, un message d'erreur descriptif est envoyé à la console de la plateforme Mozilla, et un code de fermeture tel que défini dans la [RFC 6455, Section 7.4](http://tools.ietf.org/html/rfc6455#section-7.4) est envoyé à travers l'évènement [`CloseEvent`](/fr/docs/Web/API/WebSockets/WebSockets_reference/CloseEvent).
+A partir de Firefox 11, un message d'erreur descriptif est envoyé à la console de la plateforme Mozilla, et un code de fermeture tel que défini dans la [RFC 6455, Section 7.4](https://datatracker.ietf.org/doc/html/rfc6455#section-7.4) est envoyé à travers l'évènement [`CloseEvent`](/fr/docs/Web/API/CloseEvent).
### Exemples
@@ -74,9 +74,9 @@ Dans les exemples ci-dessus on a remplacé `http` par `ws`, et de la même faço
## Envoi de données vers le serveur
-Une fois la connexion ouverte on peut commencer à tranférer des données vers le serveur en appelant la méthode [`send()`](/fr/docs/Web/API/WebSockets/WebSockets_reference/WebSocket#send) de l'objet `WebSocket` pour chaque message que l'on veut envoyer :
+Une fois la connexion ouverte on peut commencer à tranférer des données vers le serveur en appelant la méthode [`send()`](/fr/docs/Web/API/WebSocket/send) de l'objet `WebSocket` pour chaque message que l'on veut envoyer :
-Les données peuvent être envoyées sous forme de chaîne {{ domxref("Blob") }} ou de [`ArrayBuffer`](/fr/docs/Web/API/JavaScript_typed_arrays/ArrayBuffer).
+Les données peuvent être envoyées sous forme de chaîne {{ domxref("Blob") }} ou de [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer).
> [!NOTE]
> Avant la version 11, Firefox supportait l'envoi de données uniquement sous forme de chaîne.
@@ -93,7 +93,7 @@ exampleSocket.onopen = function (event) {
### Utilisation de JSON pour transmettre des objets
-Il peut être utile d'utiliser [JSON](/fr/docs/Web/API/JSON) pour envoyer des données complexes au serveur. Par exemple, un programme de chat peut interagir avec un serveur en utilisant un protocole qui implémente l'échange de paquets contenant des données encapsulées en JSON:
+Il peut être utile d'utiliser [JSON](/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON) pour envoyer des données complexes au serveur. Par exemple, un programme de chat peut interagir avec un serveur en utilisant un protocole qui implémente l'échange de paquets contenant des données encapsulées en JSON:
```js
// Envoi d'un texte à tous les utilisateurs à travers le serveur
@@ -183,7 +183,7 @@ exampleSocket.onmessage = function (event) {
};
```
-Ici nous utilisons [`JSON.parse()`](/fr/docs/Web/API/JavaScript/Reference/Global_Objects/JSON/parse) pour convertir l'objet JSON en l'objet original, avant de l'examiner et le traiter.
+Ici nous utilisons [`JSON.parse()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) pour convertir l'objet JSON en l'objet original, avant de l'examiner et le traiter.
### Encodage du texte
@@ -193,7 +193,7 @@ Avant Gecko 9.0, certains charactères spéciaux dans une chaîne UTF-8 provoqua
## Fermeture de la connexion
-Quand on n'a plus besoin de la connexion WebSocket, on appelle la méthode [`close()`](/fr/docs/Web/API/WebSockets/WebSockets_reference/WebSocket#close) de l'objet WebSocket:
+Quand on n'a plus besoin de la connexion WebSocket, on appelle la méthode [`close()`](/fr/docs/Web/API/WebSocket/close) de l'objet WebSocket:
```js
exampleSocket.close();
diff --git a/files/ja/_redirects.txt b/files/ja/_redirects.txt
index ec72dd7269a10a..0a83af57b00437 100644
--- a/files/ja/_redirects.txt
+++ b/files/ja/_redirects.txt
@@ -700,7 +700,7 @@
/ja/docs/DOM/console.dir /ja/docs/Web/API/console/dir_static
/ja/docs/DOM/console.log /ja/docs/Web/API/console/log_static
/ja/docs/DOM/console.time /ja/docs/Web/API/console/time_static
-/ja/docs/DOM/console.timeEnd /ja/docs/Web/API/console/timeend_static
+/ja/docs/DOM/console.timeEnd /ja/docs/Web/API/console/timeEnd_static
/ja/docs/DOM/dispatchEvent_example /ja/docs/Web/Events/Creating_and_triggering_events
/ja/docs/DOM/document /ja/docs/Web/API/Document
/ja/docs/DOM/document.URL /ja/docs/Web/API/Document/URL
@@ -2566,7 +2566,7 @@
/ja/docs/Using_web_workers /ja/docs/Web/API/Web_Workers_API/Using_web_workers
/ja/docs/View_source https://firefox-source-docs.mozilla.org/devtools-user/view_source/index.html
/ja/docs/WOFF /ja/docs/Web/CSS/CSS_fonts/WOFF
-/ja/docs/Web-based_protocol_handlers /ja/docs/Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers
+/ja/docs/Web-based_protocol_handlers /ja/docs/Web/API/Navigator/registerProtocolHandler
/ja/docs/Web-d/Guide/CSS/Getting_started /ja/docs/Learn/CSS
/ja/docs/Web-d/Guide/CSS/Getting_started/Boxes /ja/docs/Learn/CSS/Building_blocks/The_box_model
/ja/docs/Web-d/Guide/CSS/Getting_started/Cascading_and_inheritance /ja/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance
@@ -2657,7 +2657,7 @@
/ja/docs/Web/API/Console/error /ja/docs/Web/API/console/error_static
/ja/docs/Web/API/Console/log /ja/docs/Web/API/console/log_static
/ja/docs/Web/API/Console/time /ja/docs/Web/API/console/time_static
-/ja/docs/Web/API/Console/timeEnd /ja/docs/Web/API/console/timeend_static
+/ja/docs/Web/API/Console/timeEnd /ja/docs/Web/API/console/timeEnd_static
/ja/docs/Web/API/Constraint_validation /ja/docs/Learn/Forms/Form_validation
/ja/docs/Web/API/Coordinates /ja/docs/Web/API/GeolocationCoordinates
/ja/docs/Web/API/DOMPoint/fromPoint /ja/docs/Web/API/DOMPoint/fromPoint_static
@@ -2971,6 +2971,7 @@
/ja/docs/Web/API/Navigator/Online_and_offline_events /ja/docs/Web/API/Navigator/onLine
/ja/docs/Web/API/Navigator/battery /ja/docs/Web/API/Navigator/getBattery
/ja/docs/Web/API/Navigator/mozIsLocallyAvailable /ja/docs/Web/API/Navigator
+/ja/docs/Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers /ja/docs/Web/API/Navigator/registerProtocolHandler
/ja/docs/Web/API/NavigatorID /ja/docs/Web/API/Navigator
/ja/docs/Web/API/NavigatorID/appCodeName /ja/docs/Web/API/Navigator/appCodeName
/ja/docs/Web/API/NavigatorID/appName /ja/docs/Web/API/Navigator/appName
@@ -3257,22 +3258,22 @@
/ja/docs/Web/API/console.dir /ja/docs/Web/API/console/dir_static
/ja/docs/Web/API/console.log /ja/docs/Web/API/console/log_static
/ja/docs/Web/API/console.time /ja/docs/Web/API/console/time_static
-/ja/docs/Web/API/console.timeEnd /ja/docs/Web/API/console/timeend_static
+/ja/docs/Web/API/console.timeEnd /ja/docs/Web/API/console/timeEnd_static
/ja/docs/Web/API/console/assert /ja/docs/Web/API/console/assert_static
/ja/docs/Web/API/console/clear /ja/docs/Web/API/console/clear_static
/ja/docs/Web/API/console/count /ja/docs/Web/API/console/count_static
-/ja/docs/Web/API/console/countReset /ja/docs/Web/API/console/countreset_static
+/ja/docs/Web/API/console/countReset /ja/docs/Web/API/console/countReset_static
/ja/docs/Web/API/console/debug /ja/docs/Web/API/console/debug_static
/ja/docs/Web/API/console/dirxml /ja/docs/Web/API/console/dirxml_static
/ja/docs/Web/API/console/group /ja/docs/Web/API/console/group_static
-/ja/docs/Web/API/console/groupCollapsed /ja/docs/Web/API/console/groupcollapsed_static
-/ja/docs/Web/API/console/groupEnd /ja/docs/Web/API/console/groupend_static
+/ja/docs/Web/API/console/groupCollapsed /ja/docs/Web/API/console/groupCollapsed_static
+/ja/docs/Web/API/console/groupEnd /ja/docs/Web/API/console/groupEnd_static
/ja/docs/Web/API/console/info /ja/docs/Web/API/console/info_static
/ja/docs/Web/API/console/profile /ja/docs/Web/API/console/profile_static
-/ja/docs/Web/API/console/profileEnd /ja/docs/Web/API/console/profileend_static
+/ja/docs/Web/API/console/profileEnd /ja/docs/Web/API/console/profileEnd_static
/ja/docs/Web/API/console/table /ja/docs/Web/API/console/table_static
-/ja/docs/Web/API/console/timeLog /ja/docs/Web/API/console/timelog_static
-/ja/docs/Web/API/console/timeStamp /ja/docs/Web/API/console/timestamp_static
+/ja/docs/Web/API/console/timeLog /ja/docs/Web/API/console/timeLog_static
+/ja/docs/Web/API/console/timeStamp /ja/docs/Web/API/console/timeStamp_static
/ja/docs/Web/API/console/trace /ja/docs/Web/API/console/trace_static
/ja/docs/Web/API/console/warn /ja/docs/Web/API/console/warn_static
/ja/docs/Web/API/crypto_property /ja/docs/Web/API/Window/crypto
diff --git a/files/ja/_wikihistory.json b/files/ja/_wikihistory.json
index e0c5f379618327..ac481062da6dfe 100644
--- a/files/ja/_wikihistory.json
+++ b/files/ja/_wikihistory.json
@@ -10725,16 +10725,6 @@
"Norah"
]
},
- "Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers": {
- "modified": "2019-03-23T23:53:21.069Z",
- "contributors": [
- "mfuji09",
- "chrisdavidmills",
- "ethertank",
- "Mgjbot",
- "Potappo"
- ]
- },
"Web/API/Navigator/sendBeacon": {
"modified": "2020-10-15T21:51:51.220Z",
"contributors": ["mfuji09", "nomeaning777", "taise", "__ku"]
@@ -15115,14 +15105,14 @@
"modified": "2020-11-27T13:49:44.683Z",
"contributors": ["yumetodo", "853419196", "yyss"]
},
+ "Web/API/console/countReset_static": {
+ "modified": "2020-11-27T14:37:31.289Z",
+ "contributors": ["yumetodo"]
+ },
"Web/API/console/count_static": {
"modified": "2020-11-27T14:24:35.469Z",
"contributors": ["yumetodo", "yyss"]
},
- "Web/API/console/countreset_static": {
- "modified": "2020-11-27T14:37:31.289Z",
- "contributors": ["yumetodo"]
- },
"Web/API/console/debug_static": {
"modified": "2020-11-27T14:40:02.073Z",
"contributors": ["yumetodo", "silverskyvicto"]
@@ -15131,35 +15121,35 @@
"modified": "2019-03-23T22:34:53.031Z",
"contributors": ["yyss"]
},
- "Web/API/console/group_static": {
- "modified": "2020-10-15T21:45:35.788Z",
- "contributors": ["munieru_jp", "dskmori", "yyss"]
- },
- "Web/API/console/groupcollapsed_static": {
+ "Web/API/console/groupCollapsed_static": {
"modified": "2019-03-23T22:34:55.714Z",
"contributors": ["yyss"]
},
- "Web/API/console/groupend_static": {
+ "Web/API/console/groupEnd_static": {
"modified": "2019-03-23T22:34:56.119Z",
"contributors": ["yyss"]
},
+ "Web/API/console/group_static": {
+ "modified": "2020-10-15T21:45:35.788Z",
+ "contributors": ["munieru_jp", "dskmori", "yyss"]
+ },
"Web/API/console/info_static": {
"modified": "2020-10-15T21:45:37.023Z",
"contributors": ["u_7cc", "yyss"]
},
- "Web/API/console/profile_static": {
- "modified": "2019-03-23T22:34:55.973Z",
+ "Web/API/console/profileEnd_static": {
+ "modified": "2019-03-23T22:34:42.618Z",
"contributors": ["yyss"]
},
- "Web/API/console/profileend_static": {
- "modified": "2019-03-23T22:34:42.618Z",
+ "Web/API/console/profile_static": {
+ "modified": "2019-03-23T22:34:55.973Z",
"contributors": ["yyss"]
},
"Web/API/console/table_static": {
"modified": "2019-03-23T22:34:44.337Z",
"contributors": ["yyss"]
},
- "Web/API/console/timestamp_static": {
+ "Web/API/console/timeStamp_static": {
"modified": "2019-03-23T22:34:51.368Z",
"contributors": ["yyss"]
},
diff --git a/files/ja/glossary/aspect_ratio/index.md b/files/ja/glossary/aspect_ratio/index.md
new file mode 100644
index 00000000000000..f390cd74e6cad0
--- /dev/null
+++ b/files/ja/glossary/aspect_ratio/index.md
@@ -0,0 +1,50 @@
+---
+title: Aspect ratio (アスペクト比)
+slug: Glossary/Aspect_ratio
+l10n:
+ sourceCommit: 1197521ff42256b9d298144330cfd5b6e0d98c33
+---
+
+{{GlossarySidebar}}
+
+**アスペクト比**とは、要素または{{glossary("viewport", "ビューポート")}}の幅と高さの比のことで、比率または 2 つの数値で表します。
+
+アスペクト比を維持することで、画像や動画のような内在的なアスペクト比であろうと、外在的に設定されたものであろうと、要素の意図する縦横比を維持します。要素やビューポートのアスペクト比による問い合わせを行うこともでき、柔軟な部品やレイアウトを開発するのに有益です。
+
+CSS では、{{cssxref("ratio")}} のデータ型は `width / height` (例えば、正方形の場合は `1 / 1`、ワイドスクリーンの場合は `16 / 9`)、または単一の数値(この場合、数値は幅を表し、高さは `1`)で入力します。
+
+```css
+.wideBox {
+ aspect-ratio: 5 / 2;
+}
+.tallBox {
+ aspect-ratio: 0.25;
+}
+```
+
+SVG では、アスペクト比は [`viewBox`](/ja/docs/Web/SVG/Attribute/viewBox) 属性の 4 つの値によって定義されます。最初の 2 つの値は SVG が持っている最小の X と Y の原点座標で、次の 2 つの値は SVG のアスペクト比を設定する幅と高さです。
+
+```svg
+
+```
+
+JavaScript API でアスペクト比を問い合わせると、幅を高さで割った倍精度浮動小数点数が返されます。JavaScript を使用して要素のアスペクト比を設定することもできます。例えば、{{domxref("MediaStreamTrack")}} または {{domxref("MediaTrackSettings")}} 辞書の [`aspectRatio`](/ja/docs/Web/API/MediaTrackSettings/aspectRatio) プロパティを使用して 1920x1080 動画のアスペクト比制約を設定するには、16/9、または 1920/1080 として計算され、`1.7777778` となります。
+
+```js
+const constraints = {
+ width: 1920,
+ height: 1080,
+ aspectRatio: 1.777777778,
+};
+
+myTrack.applyConstraints(constraints);
+```
+
+## 関連情報
+
+- CSS の {{cssxref("aspect-ratio")}} プロパティ
+- [アスペクト比の理解](/ja/docs/Web/CSS/CSS_box_sizing/Understanding_aspect-ratio)ガイド
+- [CSS ボックスサイズ指定](/ja/docs/Web/CSS/CSS_box_sizing)モジュール
+- 関連用語:
+ - {{glossary("intrinsic size", "内在サイズ")}}
+- CSS の {{cssxref("min-content")}}、{{cssxref("max-content")}}、{{cssxref("fit-content")}} プロパティ値
diff --git a/files/ja/learn/html/tables/advanced/index.md b/files/ja/learn/html/tables/advanced/index.md
index 699fee57838605..609daf8cc069b1 100644
--- a/files/ja/learn/html/tables/advanced/index.md
+++ b/files/ja/learn/html/tables/advanced/index.md
@@ -101,7 +101,7 @@ l10n:
> [!NOTE]
> 現時点で私たちはあなたが CSS を完全に理解しているとは思っていません。 あなたが私たちの CSS モジュールを一通り学ぶとき、これについてより多くを学ぶでしょう([CSS 入門](/ja/docs/Learn/CSS/First_steps)は始めるのに良い場所です。 [スタイル設定された表](/ja/docs/Learn/CSS/Building_blocks/Styling_tables)に関する具体的な記事もあります)。
-最終的な票は、次のようになるでしょう。
+最終的な表は、次のようになるでしょう。
{{ EmbedGHLiveSample('learning-area/html/tables/advanced/spending-record-finished.html', '100%', 400) }}
diff --git a/files/ja/learn/javascript/objects/adding_bouncing_balls_features/index.md b/files/ja/learn/javascript/objects/adding_bouncing_balls_features/index.md
index 62e62c17ec4619..10f7d00b3b6e20 100644
--- a/files/ja/learn/javascript/objects/adding_bouncing_balls_features/index.md
+++ b/files/ja/learn/javascript/objects/adding_bouncing_balls_features/index.md
@@ -63,7 +63,7 @@ l10n:
`Ball` クラスは `extends` を使用して `Shape` から派生させる必要があります。 `Ball` のコンストラクターは以下のようになります。
- 引数として、 `x`, `y`, `velX`, `velY`, `size`, `color` を受け取ります。
-- `super()` を使用して `Shape` コンストラクタを呼び出し、 `x`、`y`、`velX`、`velY` の各引数を渡します。
+- `super()` を使用して `Shape` コンストラクターを呼び出し、 `x`、`y`、`velX`、`velY` の各引数を渡します。
- 与えられた引数から `color` と `size` のプロパティを初期化します。
`Ball` コンストラクターは `exists` という新しいプロパティを定義する必要があります。これは、ボールがプログラム内に存在するかどうか(悪のサークルに食べられていないかどうか)を追跡するために使用されます。これは論理値 (`true`/`false`) で、コンストラクターの中で `true` に初期化する必要があります。
diff --git a/files/ja/learn/javascript/objects/index.md b/files/ja/learn/javascript/objects/index.md
index 543c15df73627d..8239bfc52d3f87 100644
--- a/files/ja/learn/javascript/objects/index.md
+++ b/files/ja/learn/javascript/objects/index.md
@@ -31,7 +31,7 @@ JavaScript では、文字列や配列などの JavaScript のコア機能から
- [オブジェクトの基本](/ja/docs/Learn/JavaScript/Objects/Basics)
- : JavaScript オブジェクトについて記載している最初の記事では、基本的な JavaScript オブジェクト構文を見てみます。コースの初期段階で既に見た JavaScript の機能を再び見てみたり、すでに扱っている機能の多くは実際にオブジェクトであるという事実を繰り返し述べています。
- [オブジェクトプロトタイプ](/ja/docs/Learn/JavaScript/Objects/Object_prototypes)
- - : プロトタイプは、JavaScript オブジェクトが互いに機能を継承するメカニズムであり、古典的なオブジェクト指向プログラミング言語の継承メカニズムとは異なる働きをします。この記事では、その違いを探り、プロトタイプチェーンの仕組みを説明し、prototype プロパティを使用して既存のコンストラクタにメソッドを追加する方法を見ていきます。
+ - : プロトタイプは、JavaScript オブジェクトが互いに機能を継承するメカニズムであり、古典的なオブジェクト指向プログラミング言語の継承メカニズムとは異なる働きをします。この記事では、その違いを探り、プロトタイプチェーンの仕組みを説明し、prototype プロパティを使用して既存のコンストラクターにメソッドを追加する方法を見ていきます。
- [オブジェクト指向プログラミング](/ja/docs/Learn/JavaScript/Objects/Object-oriented_programming)
- : この記事では、「古典的」オブジェクト指向プログラミングの基本的な原則をいくつか説明し、JavaScript でのプロトタイプモデルとは異なるところを見ていきます。
- [JavaScript でのクラス](/ja/docs/Learn/JavaScript/Objects/Classes_in_JavaScript)
diff --git a/files/ja/learn/javascript/objects/object_prototypes/index.md b/files/ja/learn/javascript/objects/object_prototypes/index.md
index 056bb3c26fc8fd..5742a4e1cd708e 100644
--- a/files/ja/learn/javascript/objects/object_prototypes/index.md
+++ b/files/ja/learn/javascript/objects/object_prototypes/index.md
@@ -234,7 +234,7 @@ JavaScript で、`Professor` と `Student` のオブジェクトが `Person` プ
## まとめ
-この記事では、プロトタイプオブジェクトチェーンによってオブジェクトが互いに機能を継承する方法、プロトタイププロパティとそれを使ってコンストラクタにメソッドを追加する方法など、JavaScript オブジェクトのプロトタイプを取り上げてきました。
+この記事では、プロトタイプオブジェクトチェーンによってオブジェクトが互いに機能を継承する方法、プロトタイププロパティとそれを使ってコンストラクターにメソッドを追加する方法など、JavaScript オブジェクトのプロトタイプを取り上げてきました。
次の記事では、オブジェクト指向プログラミングの基盤となる概念について見ていきます。
diff --git a/files/ja/learn/server-side/express_nodejs/introduction/index.md b/files/ja/learn/server-side/express_nodejs/introduction/index.md
index a177cdc3245985..8e0b6abaa6ab63 100644
--- a/files/ja/learn/server-side/express_nodejs/introduction/index.md
+++ b/files/ja/learn/server-side/express_nodejs/introduction/index.md
@@ -28,7 +28,7 @@ Express の最初の記事では「Node って何だろう?」、「Express
## Node の紹介
-[Node](https://nodejs.org/)(正式には _Node.js_)はオープンソースのクロスプラットフォーム、実行環境で、開発者はあらゆるサーバーサイドのツールやアプリケーションを [JavaScript](/ja/docs/Glossary/JavaScript) で作成することができます。この実行環境はブラウザーコンテキスト外での使用 (すなわち、コンピューターまたはサーバー OS 上での直接実行) を目的としています。そのため、クライアントサイドではブラウザー固有の JavaScript API が省略され、HTTP やファイルシステムライブラリーを含む従来の OS API がサポートされます。
+[Node](https://nodejs.org/)(正式には _Node.js_)はオープンソースのクロスプラットフォーム、実行環境で、開発者はあらゆるサーバーサイドのツールやアプリケーションを [JavaScript](/ja/docs/Glossary/JavaScript) で作成することができます。この実行環境は閲覧コンテキスト外での使用 (すなわち、コンピューターまたはサーバー OS 上での直接実行) を目的としています。そのため、クライアントサイドではブラウザー固有の JavaScript API が省略され、HTTP やファイルシステムライブラリーを含む従来の OS API がサポートされます。
ウェブサーバー開発の観点から Node には多くの利点があります。
@@ -201,7 +201,7 @@ console.log(`The area of a square with a width of 4 is ${square.area(4)}`);
> [!NOTE]
> モジュールへの絶対パス (または最初に行ったように名前) を指定することもできます。
-一度に 1 つのプロパティを構築するのではなく、1 つの割り当てで完全なオブジェクトをエクスポートする場合は、次のように `module.exports` に割り当てます (これを実行して、エクスポートオブジェクトのルートをコンストラクタまたは他の関数にすることもできます)。
+一度に 1 つのプロパティを構築するのではなく、1 つの割り当てで完全なオブジェクトをエクスポートする場合は、次のように `module.exports` に割り当てます (これを実行して、エクスポートオブジェクトのルートをコンストラクターまたは他の関数にすることもできます)。
```js
module.exports = {
diff --git a/files/ja/mdn/writing_guidelines/writing_style_guide/index.md b/files/ja/mdn/writing_guidelines/writing_style_guide/index.md
index bdab328ef493ba..6247b14938cdda 100644
--- a/files/ja/mdn/writing_guidelines/writing_style_guide/index.md
+++ b/files/ja/mdn/writing_guidelines/writing_style_guide/index.md
@@ -2,7 +2,7 @@
title: 執筆スタイルガイド
slug: MDN/Writing_guidelines/Writing_style_guide
l10n:
- sourceCommit: e60194342c9666ad8a2e6e5e6c25705fe818bcde
+ sourceCommit: 4ecbac9e89961a132c1e7f5493ec94f60dcb1ee4
---
{{MDNSidebar}}
@@ -160,9 +160,11 @@ MDN Web Docs で書くことの第一の目標は、常にオープンなウェ
- **例を追加する**。すべての引数、あるいは少なくとも初級から中級レベルのユーザーが使用する可能性のある引数(またはプロパティや属性)と、追加の説明が必要な高度な引数を網羅した例を用意する必要があります。それぞれの例の前には、その例が何をするのか、それを理解するためにはどのような知識が必要なのかなどの概要を示す必要があります。例の後(または例の一部の間)には、コードがどのように動作するかを説明する文章が必要です。例の詳細やエラー処理についても手を抜いてはいけません。読者は例をコピー&ペーストして自分のプロジェクトで使用するでしょうから、そのコードが本番サイトで使用されることになるでしょう。より有用な情報は、[サンプルコードのガイドライン](/ja/docs/MDN/Writing_guidelines/Writing_style_guide/Code_style_guide)を参照してください。
- **使用例を説明する**。説明されている機能について、特に一般的な使用例がある場合は、それについて話してください。一般的な開発上の問題を解決するために文書化された方法を読者が理解すると仮定するのではなく、実際にその利用例についての節を追加し、例とその例がどのように機能するかを説明するテキストを追加してください。
- **画像情報を追加する**。すべての画像や図に適切な [`alt`](/ja/docs/Web/HTML/Element/img#alt) テキストを入れてください。このテキストは、表などのキャプションと同様に重要です。スパイダーは画像をクロールすることができないため、 [`alt`](/ja/docs/Web/HTML/Element/img#alt) テキストによって、埋め込まれたメディアに含まれるコンテンツを検索エンジンのクローラーに伝えることができます。
+
> [!NOTE]
> 検索エンジンのランキングを操作するために、キーワードを入れすぎたり、関係のないキーワードを使ったりすることは、良い慣習ではありません。このような行為は発見されやすく、罰せられる傾向にあります。
> 同様に、ページのサイズや検索順位を上げるために、反復的で役に立たない内容や、キーワードの塊を実際のページ内に追加するようなことも**しないでください**。これは、コンテンツの読みやすさと検索結果の両方に悪影響を及ぼします。
+
- **トピックの内容を重視する**。特定のキーワードではなく、記事のトピックに沿ってコンテンツを書く方がはるかに良いことです。実際、多くの SEO 担当者は、記事の長さに応じて 5 ~ 100 種類のキーワード(ショートテール、ミディアムテール、ロングテール)をリストアップし、記事に含めるようにしています。そうすることで、表現が多様化し、繰り返しが少なくなります。
## 執筆スタイル
@@ -443,7 +445,7 @@ MDN で他のページやページの節のタイトルで参照する場合、
リンク先の節が同じページにある場合は、「上記」 (above) や「下記」 (below) の言葉を用いて、その節の場所を示唆することができます。
-- **正**: この概念は下記の[アクセシビリティの考慮](/ja/docs/Web/CSS/gradient/repeating-conic-gradient#accessibility_concerns)の節で詳しく説明しています。
+- **正**: この概念は下記の[アクセシビリティ](/ja/docs/Web/CSS/gradient/repeating-conic-gradient#アクセシビリティ)の節で詳しく説明しています。
文章の一部を記事や記事の節にリンクすることができます。リンクテキストとして説明的な語句を使用し、リンクされているページに十分なコンテキストを提供するように注意してください。
@@ -519,7 +521,7 @@ markdown の見出しレベルをスキップすることなく、小さい順
ページ内に画像やその他のメディアを載せる場合は、以下のガイドラインに従ってください。
-- メディアのライセンスが使用することを許可していることを確認してください。 [CC0](https://creativecommons.org/share-your-work/public-domain/cc0/) のようなとても寛容なライセンスを有するメディア、または少なくとも私たちの一般的なコンテンツライセンス - [クリエイティブ・コモンズ - 表示・継承ライセンス](https://creativecommons.org/licenses/by-sa/2.5/) (CC-BY-SA) と互換性のあるものを使用するようにしましょう。
+- メディアのライセンスが使用することを許可していることを確認してください。 [CC0](https://creativecommons.org/public-domain/cc0/) のようなとても寛容なライセンスを有するメディア、または少なくとも私たちの一般的なコンテンツライセンス - [クリエイティブ・コモンズ - 表示・継承ライセンス](https://creativecommons.org/licenses/by-sa/2.5/) (CC-BY-SA) と互換性のあるものを使用するようにしましょう。
- 画像の場合、 または を通すとページが軽量化されます。
- `SVG` の場合は、 [SVGOMG](https://jakearchibald.github.io/svgomg/) を通してコードを実行し、 `SVG` ファイルの最後に空行があることを確認してください。
- すべての画像に[説明的な `alt` テキストを入れる](/ja/docs/MDN/Writing_guidelines/Howto/Images_media#画像に代替テキストを追加)必要があります。
@@ -670,16 +672,15 @@ MDN Web Docs 全体の一貫性を保つため、関連情報の節を追加ま
### おすすめのスタイルガイド
-ここで取り扱われていない用法とスタイルについて疑問があれば、 [Microsoft Writing Style Guide](https://docs.microsoft.com/style-guide/welcome/) を、それでもダメなら [Chicago Manual of Style](https://www.chicagomanualofstyle.org) を参照してください。
-[非公式の crib sheet for the Chicago Manual of Style](https://faculty.cascadia.edu/cma/HIST148/cmscrib.pdf) がオンラインで利用できます。
+ここで取り扱われていない用法とスタイルについて疑問があれば、 [Microsoft Writing Style Guide](https://learn.microsoft.com/en-us/style-guide/welcome/) を、それでもダメなら [Chicago Manual of Style](https://www.chicagomanualofstyle.org) を参照してください。
### 言語、文法、綴り
記事の執筆と編集スキルを磨きたければ、以下のリソースが役立つことでしょう。(英語の情報)
- [Common errors in English usage](https://brians.wsu.edu/common-errors-in-english-usage/) on brians.wsu.edu
-- [English grammar FAQ](https://www-personal.umich.edu/~jlawler/aue.html) on alt-usage-english.org
+- [English grammar FAQ](https://websites.umich.edu/~jlawler/aue.html) on alt-usage-english.org
- [English language and usage](https://english.stackexchange.com/) on english.stackexchange.com: Question and answer site for English language usage
-- [Merriam-Webster's Concise Dictionary of English Usage](https://www.google.com/books/edition/Merriam_Webster_s_Dictionary_of_English/UDIjAQAAIAAJ) on google.com/books (published 2002): Scholarly but user-friendly, evidence-based advice; very good for non-native speakers, especially for preposition usage
+- [Merriam-Webster's Concise Dictionary of English Usage](https://books.google.com/books?id=UDIjAQAAIAAJ) on google.com/books (published 2002): Scholarly but user-friendly, evidence-based advice; very good for non-native speakers, especially for preposition usage
- [On Writing Well](https://www.harpercollins.com/products/on-writing-well-william-zinsser) by William Zinsser on harpercollins.com (published 2016)
-- [Style: Lessons in Clarity and Grace](https://www.google.ca/books/edition/Style/QjskvgEACAAJ) by Joseph Williams and Gregory Colomb on google.com/books (published 2019)
+- [Style: Lessons in Clarity and Grace](https://books.google.com/books?id=QjskvgEACAAJ) by Joseph Williams and Gregory Colomb on google.com/books (published 2019)
diff --git a/files/ja/mozilla/add-ons/webextensions/api/webnavigation/index.md b/files/ja/mozilla/add-ons/webextensions/api/webnavigation/index.md
index 16cf83bd3b2b79..c73edc08f5a25a 100644
--- a/files/ja/mozilla/add-ons/webextensions/api/webnavigation/index.md
+++ b/files/ja/mozilla/add-ons/webextensions/api/webnavigation/index.md
@@ -27,7 +27,7 @@ slug: Mozilla/Add-ons/WebExtensions/API/webNavigation
- {{WebExtAPIRef("webNavigation.onReferenceFragmentUpdated", "onReferenceFragmentUpdated")}} はページの [fragment identifier](https://en.wikipedia.org/wiki/Fragment_identifier) が変更された場合に発火します。
- {{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} はあらゆる場所で発火します。
-それぞれのナビゲーションは特定のブラウザーフレーム内の URL の遷移です。ブラウザーフレームはタブ ID とフレーム ID で識別されます。フレームはタブ内の再上位のブラウジングコンテキストである場合や、[iframe](/ja/docs/Web/HTML/Element/iframe) として実装されたネストされたブラウジングコンテキストである場合があります。
+それぞれのナビゲーションは特定のブラウザーフレーム内の URL の遷移です。ブラウザーフレームはタブ ID とフレーム ID で識別されます。フレームはタブ内の再上位の閲覧コンテキストである場合や、[iframe](/ja/docs/Web/HTML/Element/iframe) として実装されたネストされた閲覧コンテキストである場合があります。
それぞれのイベントの `addListener()` の呼び出しはオプションの filter パラメーターを受け入れます。filter は 1 つ以上の URL パターンを指定し、イベントはターゲット URL がパターンにマッチしたナビゲーションの時だけに発火します。
diff --git a/files/ja/mozilla/firefox/releases/101/index.md b/files/ja/mozilla/firefox/releases/101/index.md
index 76ac5325638407..496f72adc79edd 100644
--- a/files/ja/mozilla/firefox/releases/101/index.md
+++ b/files/ja/mozilla/firefox/releases/101/index.md
@@ -57,7 +57,7 @@ slug: Mozilla/Firefox/Releases/101
- イベントをグローバルにサブスクライブするコマンド ([`session.subscribe`](https://w3c.github.io/webdriver-bidi/#command-session-subscribe)) およびサブスクライブを解除するコマンド ([`session.unsubscribe`](https://w3c.github.io/webdriver-bidi/#command-session-unsubscribe)) の部分的な実装と、WebDriver クラシックを使用しないときに WebDriver BiDi セッションを直接作成する機能 ([`session.new`](https://w3c.github.io/webdriver-bidi/#command-session-new)) を含む、[`session` モジュール](https://w3c.github.io/webdriver-bidi/#module-session) を追加しました。
-- 新しいタブやウィンドウを開くコマンド ([`browsingContext.create`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-create)) や閉じるコマンド ([`browsingContext.close`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-close))、開いているブラウジングコンテキストを取得するコマンド ([`browsingContext.getTree`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-getTree))、ブラウジングコンテキスト内でナビゲーションするコマンド ([`browsingContext.navigate`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-navigate)) を含む [`browsingContext` モジュール](https://w3c.github.io/webdriver-bidi/#module-browsingContext) を追加しました。これらは、ブラウジングコンテキストが作成されたときのイベント ([`browsingContext.contextCreated`](https://w3c.github.io/webdriver-bidi/#event-browsingContext-contextCreated)) もサポートします。
+- 新しいタブやウィンドウを開くコマンド ([`browsingContext.create`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-create)) や閉じるコマンド ([`browsingContext.close`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-close))、開いている閲覧コンテキストを取得するコマンド ([`browsingContext.getTree`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-getTree))、閲覧コンテキスト内でナビゲーションするコマンド ([`browsingContext.navigate`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-navigate)) を含む [`browsingContext` モジュール](https://w3c.github.io/webdriver-bidi/#module-browsingContext) を追加しました。これらは、閲覧コンテキストが作成されたときのイベント ([`browsingContext.contextCreated`](https://w3c.github.io/webdriver-bidi/#event-browsingContext-contextCreated)) もサポートします。
- ログのイベント ([`log.entryAdded`](https://w3c.github.io/webdriver-bidi/#event-log-entryAdded)) をサポートする [`log` モジュール](https://w3c.github.io/webdriver-bidi/#module-log) を追加しました。
diff --git a/files/ja/mozilla/firefox/releases/104/index.md b/files/ja/mozilla/firefox/releases/104/index.md
index 51d067b470a2ec..6f214a9ff90c09 100644
--- a/files/ja/mozilla/firefox/releases/104/index.md
+++ b/files/ja/mozilla/firefox/releases/104/index.md
@@ -69,7 +69,7 @@ slug: Mozilla/Firefox/Releases/104
#### WebDriver BiDi
- `log.entryAdded` イベントで `source` をサポートしました ([Firefox バグ 1770792](https://bugzil.la/1770792))。
-- 新たに開いたブラウジングコンテキストについて、`browsingContext.contextCreated` イベントに送信する `url` を `about:blank` に更新しました ([Firefox バグ 1775141](https://bugzil.la/1775141))。
+- 新たに開いた閲覧コンテキストについて、`browsingContext.contextCreated` イベントに送信する `url` を `about:blank` に更新しました ([Firefox バグ 1775141](https://bugzil.la/1775141))。
#### Marionette
diff --git a/files/ja/mozilla/firefox/releases/106/index.md b/files/ja/mozilla/firefox/releases/106/index.md
index 03dd357a16c16a..9ea4adadeffb68 100644
--- a/files/ja/mozilla/firefox/releases/106/index.md
+++ b/files/ja/mozilla/firefox/releases/106/index.md
@@ -62,7 +62,7 @@ l10n:
- `script.getRealms` の基本的なサポートを追加しました。現在は、window レルムと sandbox レルムを含む `WindowRealmInfo` 型に限定されています ([Firefox バグ 1766240](https://bugzil.la/1766240))。
-- `browsingContext.load` イベントをサポートしました。これは、ブラウジングコンテキストのウィンドウの `load` イベントをきっかけにして発生します ([Firefox バグ 1756619](https://bugzil.la/1756619))。
+- `browsingContext.load` イベントをサポートしました。これは、閲覧コンテキストのウィンドウの `load` イベントをきっかけにして発生します ([Firefox バグ 1756619](https://bugzil.la/1756619))。
- シリアライズしたリモートの値向けの強い参照を保持するための、オブジェクト参照ストアを追加しました ([Firefox バグ 1770736](https://bugzil.la/1770736))。
diff --git a/files/ja/mozilla/firefox/releases/112/index.md b/files/ja/mozilla/firefox/releases/112/index.md
index f842e1fec9ec3e..2abab03e4f346c 100644
--- a/files/ja/mozilla/firefox/releases/112/index.md
+++ b/files/ja/mozilla/firefox/releases/112/index.md
@@ -46,7 +46,7 @@ l10n:
#### WebDriver BiDi
-- `browsingContext.print` コマンドを実装しました。ブラウジングコンテキストをBase64 でエンコードした文字列で表した PDF 文書を、クライアントに要求できます。詳しくは [Firefox bug 1806810](https://bugzil.la/1806810) をご覧ください。
+- `browsingContext.print` コマンドを実装しました。閲覧コンテキストをBase64 でエンコードした文字列で表した PDF 文書を、クライアントに要求できます。詳しくは [Firefox bug 1806810](https://bugzil.la/1806810) をご覧ください。
- `script.addPreloadScript` および `script.removePreloadScript` コマンドを実装しました。後に読み込まれるどのコンテンツスクリプトでも利用できることが保証された機能を、WebDriver が後でコンテキストに挿入するスクリプトより前に、テストクライアントが挿入することを可能にします。詳しくは [Firefox bug 1806420](https://bugzil.la/1806420) および [Firefox bug 1806465](https://bugzil.la/1806465) をご覧ください。
- ノードキャッシュに保存された `Element` および `ShadowRoot` の参照が、まったく同じ一意の参照によって Marionette および WebDriver BiDi の両方で使用できるようになりました。詳しくは [Firefox bug 1770733](https://bugzil.la/1770733) をご覧ください。
- `isRedirect` をネットワークイベントの基本引数から削除しました ([Firefox bug 1819875](https://bugzil.la/1819875))。
diff --git a/files/ja/mozilla/firefox/releases/117/index.md b/files/ja/mozilla/firefox/releases/117/index.md
index 943e6eaea2165b..6e22fd4b22db25 100644
--- a/files/ja/mozilla/firefox/releases/117/index.md
+++ b/files/ja/mozilla/firefox/releases/117/index.md
@@ -53,7 +53,7 @@ l10n:
#### WebDriver BiDi
- ユーザーがすべての WebDriver セッションを終了してブラウザーを閉じることを可能にする `browser.close` コマンドを追加しました ([Firefox bug 1829334](https://bugzil.la/1829334))。
-- ユーザーがトップレベルのブラウジングコンテキストの寸法を変更することを可能にする `browsingContext.setViewport` コマンドを追加しました ([Firefox bug 1838664](https://bugzil.la/1838664))。
+- ユーザーがトップレベルの閲覧コンテキストの寸法を変更することを可能にする `browsingContext.setViewport` コマンドを追加しました ([Firefox bug 1838664](https://bugzil.la/1838664))。
- ドキュメント内のナビゲーションに対して発生する `browsingContext.fragmentNavigated` イベントを追加しました ([Firefox bug 1841039](https://bugzil.la/1841039))。
- `browsingContext.create` コマンドの引数 `background` をサポートしました。これは、新しいコンテキストをバックグラウンドで作成することを強制します。この引数は省略可能で既定値が `false` ですので、`browsingContext.create` はデフォルトで新しいコンテキストをフォアグラウンドで開きます ([Firefox bug 1843507](https://bugzil.la/1843507))。
- `browsingContext.captureScreenshot` コマンドの引数 `clip` をサポートしました。これは、スクリーンショットを指定した領域または要素に制限できます。要素を切り抜くとき、スクリーンショットを取得する前に要素がビューに入るようにスクロールすることができます ([Firefox bug 1840998](https://bugzil.la/1840998))。
diff --git a/files/ja/mozilla/firefox/releases/119/index.md b/files/ja/mozilla/firefox/releases/119/index.md
index 114c83bfecaf4e..ce96fcf15404c4 100644
--- a/files/ja/mozilla/firefox/releases/119/index.md
+++ b/files/ja/mozilla/firefox/releases/119/index.md
@@ -57,17 +57,17 @@ l10n:
#### WebDriver BiDi
-- 指定したブラウジングコンテキストで現在表示されているページまたはフレームを再読み込みできるコマンド [`browsingContext.reload`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-reload) を追加しました ([Firefox bug 1830859](https://bugzil.la/1830859))。
+- 指定した閲覧コンテキストで現在表示されているページまたはフレームを再読み込みできるコマンド [`browsingContext.reload`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-reload) を追加しました ([Firefox bug 1830859](https://bugzil.la/1830859))。
- `alert`、`confirm`、`prompt` 型のユーザープロンプトが閉じられたときに発生するイベント [`browsingContext.userPromptClosed`](https://w3c.github.io/webdriver-bidi/#event-browsingContext-userPromptClosed) を追加しました ([Firefox bug 1824221](https://bugzil.la/1824221))。
- Firefox によって新しいナビゲーションが開始されたときに発生するイベント [`browsingContext.navigationStarted`](https://w3c.github.io/webdriver-bidi/#event-browsingContext-navigationStarted) を追加しました ([Firefox bug 1756595](https://bugzil.la/1756595))。
-- 指定したブラウジングコンテキストで JavaScript Realm のライフタイムを監視できるイベント [`script.realmCreated`](https://w3c.github.io/webdriver-bidi/#event-script-realmCreated) および [`script.realmDestroyed`](https://w3c.github.io/webdriver-bidi/#event-script-realmDestroyed) を追加しました。Realm は基本的に、独自のグローバルオブジェクト (window) を持つ分離された実行環境 (`sandbox`) です ([Firefox bug 1788657](https://bugzil.la/1788657)、[Firefox bug 1788659](https://bugzil.la/1788659))。
+- 指定した閲覧コンテキストで JavaScript Realm のライフタイムを監視できるイベント [`script.realmCreated`](https://w3c.github.io/webdriver-bidi/#event-script-realmCreated) および [`script.realmDestroyed`](https://w3c.github.io/webdriver-bidi/#event-script-realmDestroyed) を追加しました。Realm は基本的に、独自のグローバルオブジェクト (window) を持つ分離された実行環境 (`sandbox`) です ([Firefox bug 1788657](https://bugzil.la/1788657)、[Firefox bug 1788659](https://bugzil.la/1788659))。
- HTTP 認証のダイアログボックスが表示されたときに、`browsingContext.userPromptOpened` イベントが誤って発生していた不具合を修正しました ([Firefox bug 1853302](https://bugzil.la/1853302))。
-- `context` フィールドが `null` に設定された不必要なイベントが発生しないようになりました。基礎となるブラウジングコンテキストが閉じられたため、このようなイベントは有効ではありません ([Firefox bug 1847563](https://bugzil.la/1847563))。
+- `context` フィールドが `null` に設定された不必要なイベントが発生しないようになりました。基礎となる閲覧コンテキストが閉じられたため、このようなイベントは有効ではありません ([Firefox bug 1847563](https://bugzil.la/1847563))。
#### Marionette
diff --git a/files/ja/mozilla/firefox/releases/121/index.md b/files/ja/mozilla/firefox/releases/121/index.md
index 59218da962e0a5..0dec88ac6dc4f8 100644
--- a/files/ja/mozilla/firefox/releases/121/index.md
+++ b/files/ja/mozilla/firefox/releases/121/index.md
@@ -59,7 +59,7 @@ l10n:
#### WebDriver BiDi
-- ブラウジングコンテキストが破棄されたときに発生する [`browsingContext.contextDestroyed`](https://w3c.github.io/webdriver-bidi/#event-browsingContext-contextDestroyed) イベントを追加しました ([Firefox bug 1694390](https://bugzil.la/1694390))。
+- 閲覧コンテキストが破棄されたときに発生する [`browsingContext.contextDestroyed`](https://w3c.github.io/webdriver-bidi/#event-browsingContext-contextDestroyed) イベントを追加しました ([Firefox bug 1694390](https://bugzil.la/1694390))。
- [`script.callFunction`](https://w3c.github.io/webdriver-bidi/#command-script-callFunction) および [`script.evaluate`](https://w3c.github.io/webdriver-bidi/#command-script-evaluate) コマンドの引数 `userActivation` をサポートしました。ユーザーアクションをエミュレートしている間に JavaScript を評価できます ([Firefox bug 1845488](https://bugzil.la/1845488))。
- [`browsingContext.userPromptOpened`](https://w3c.github.io/webdriver-bidi/#event-browsingContext-userPromptOpened) イベントの `defaultValue` フィールドをサポートしました。プロンプトの既定値をユーザーが取得できます ([Firefox bug 1851761](https://bugzil.la/1851761))。
- [`browsingContext.captureScreenshot`](https://w3c.github.io/webdriver-bidi/#command-browsingContext-captureScreenshot) コマンドの引数 `viewportOptions` を `boxOptions` に改名しました ([Firefox bug 1859258](https://bugzil.la/1859258))。
diff --git a/files/ja/mozilla/firefox/releases/122/index.md b/files/ja/mozilla/firefox/releases/122/index.md
index cc995314309c9e..cd49ac957c3d40 100644
--- a/files/ja/mozilla/firefox/releases/122/index.md
+++ b/files/ja/mozilla/firefox/releases/122/index.md
@@ -64,7 +64,7 @@ l10n:
- `WindowProxy` リモートオブジェクトのシリアライズが、プロセス外 iframe でも正しく動作するようになりました ([Firefox bug 1867667](https://bugzil.la/1867667))。
- [browsingContext.setViewport](https://w3c.github.io/webdriver-bidi/#command-browsingContext-setViewport) コマンドが、`viewport` 引数の値として `undefined` と `null` を区別するようになりました。`undefined` に設定すると、ビューポートが変更されないままにするべきであることを示します。一方 `null` を使用すると、ビューポートを元の寸法にリセットします ([Firefox bug 1865618](https://bugzil.la/1865618))。
- [browsingContext.traverseHistory](https://w3c.github.io/webdriver-bidi/#command-browsingContext-traverseHistory) コマンドをサポートしました。ブラウザーの履歴で前へ戻る・次へ進むナビゲーションを可能にします ([Firefox bug 1841018](https://bugzil.la/1841018))。
-- iframe でナビゲーションが発生した場合でもトップレベルのブラウジングコンテキストの `context` ID が、すべてのサポート済みのネットワークイベントで一貫して報告される不具合を修正しました ([Firefox bug 1869735](https://bugzil.la/1869735))。
+- iframe でナビゲーションが発生した場合でもトップレベルの閲覧コンテキストの `context` ID が、すべてのサポート済みのネットワークイベントで一貫して報告される不具合を修正しました ([Firefox bug 1869735](https://bugzil.la/1869735))。
#### Marionette
diff --git a/files/ja/mozilla/firefox/releases/123/index.md b/files/ja/mozilla/firefox/releases/123/index.md
index 66905442742cc3..96a6447259884d 100644
--- a/files/ja/mozilla/firefox/releases/123/index.md
+++ b/files/ja/mozilla/firefox/releases/123/index.md
@@ -38,7 +38,7 @@ l10n:
### API
- [Web Authentication API](/ja/docs/Web/API/Web_Authentication_API) で、クロスオリジンの資格情報作成をサポートしました。
- 特に、トップレベルで入れ子の [`