From 3a04f324f1fb55e3c073c32d0ead28b5803a6284 Mon Sep 17 00:00:00 2001 From: Dave Letorey Date: Tue, 22 Sep 2026 10:30:09 +0100 Subject: [PATCH 1/9] updated the value for `text-decoration-inset` (#45028) * updated the value for * updated the note on percentages according to updated spec * explained where the percenatge is calculated --- files/en-us/glossary/box_fragment/index.md | 8 ++++++++ files/en-us/glossary/decorating_box/index.md | 8 ++++++++ .../properties/text-decoration-inset/index.md | 11 ++++++++--- 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 files/en-us/glossary/box_fragment/index.md create mode 100644 files/en-us/glossary/decorating_box/index.md diff --git a/files/en-us/glossary/box_fragment/index.md b/files/en-us/glossary/box_fragment/index.md new file mode 100644 index 000000000000000..c63498af145a32a --- /dev/null +++ b/files/en-us/glossary/box_fragment/index.md @@ -0,0 +1,8 @@ +--- +title: Box fragment +slug: Glossary/box_fragment +page-type: glossary-definition +sidebar: glossarysidebar +--- + +A **box fragment** is an [inline element](/en-US/docs/Glossary/Inline-level_content) that has been split over multiple lines and is controlled by {{cssxref("box-decoration-break")}} CSS property. diff --git a/files/en-us/glossary/decorating_box/index.md b/files/en-us/glossary/decorating_box/index.md new file mode 100644 index 000000000000000..16f119211b124e2 --- /dev/null +++ b/files/en-us/glossary/decorating_box/index.md @@ -0,0 +1,8 @@ +--- +title: Decorating box +slug: Glossary/decorating_box +page-type: glossary-definition +sidebar: glossarysidebar +--- + +A **decorating box** is an [inline element](/en-US/docs/Glossary/Inline-level_content) that has {{cssxref("text-decoration-line")}} CSS property applied to it. diff --git a/files/en-us/web/css/reference/properties/text-decoration-inset/index.md b/files/en-us/web/css/reference/properties/text-decoration-inset/index.md index 5d2a8295148d24f..1d35c6f64bd2edb 100644 --- a/files/en-us/web/css/reference/properties/text-decoration-inset/index.md +++ b/files/en-us/web/css/reference/properties/text-decoration-inset/index.md @@ -57,11 +57,13 @@ text-decoration-inset: auto; /* One value */ text-decoration-inset: 20px; text-decoration-inset: -2rem; +text-decoration-inset: 5%; /* Two values */ text-decoration-inset: 20px 1em; text-decoration-inset: -0.5rem -1.5rem; text-decoration-inset: -2ex 1vw; +text-decoration-inset: -5% -5%; /* Global values */ text-decoration-inset: inherit; @@ -75,8 +77,8 @@ text-decoration-inset: unset; This property is specified as one or two of the following value or the keyword `auto`: -- {{cssxref("<length>")}} - - : Specifies the amount to adjust the text decoration position by. Positive values inset the text decoration (make it shorter) while negative values outset the text decoration (make it longer). If one value is specified, it applies to both the text decoration start and end points. If two values are specified, the first one applies to the text decoration start point and the second one applies to the text decoration end point. +- {{cssxref("length-percentage")}} + - : Specifies the amount to adjust the text decoration position by. Positive values inset the text decoration (make it shorter) while negative values outset the text decoration (make it longer). If one value is specified, it applies to both the text decoration start and end points. If two values are specified, the first one applies to the text decoration start point and the second one applies to the text decoration end point. Percentage values either refer to the total inline size of the {{glossary("decorating box")}} if {{cssxref("box-decoration-break")}} is set to {{cssxref("box-decoration-break", "slice", "#slice")}}, or to the inline size of each individual {{glossary("box fragment")}}, if it is set to {{cssxref("box-decoration-break", "clone", "#clone")}}. - `auto` - : The browser chooses a start and end inset amount to ensure that, if two decorated text boxes appear side-by-side, the appearance of a gap is created between their text decorations so they do not appear to have a single text decoration. @@ -86,7 +88,10 @@ By default, an element's text decoration, as set by the {{cssxref("text-decorati The `text-decoration-inset` property allows you to adjust the start and/or end points of a text container's text decoration. This is useful for creating effects where you want the text decoration to be inset or outset from the text itself, or shifted in position. See [Basic use cases](#basic_use_cases) for an example of each. -A single `` value will set the inset (if positive) or outset (if negative) on the start and end positions of the text decoration. To set the start and end positions separately, you can use two `` values — the first one applies to the start position of the text decoration and the second one applies to the end. +A single `` value will set the inset (if positive) or outset (if negative) on the start and end positions of the text decoration. To set the start and end positions separately, you can use two `` values — the first one applies to the start position of the text decoration and the second one applies to the end. + +> [!NOTE] +> A percentage value depends on the value of {{cssxref("box-decoration-break")}}, if it is set to `slice` (the initial value) it refers to the inline size of the decorating box or if it is set to `clone` it refers to each individual box fragment. The `text-decoration-inset` property can also take the `auto` keyword. This causes the browser to inset the text decoration start and end points to ensure that, if two decorated text boxes appear side-by-side, they do not appear to have a single text decoration. The `auto` value is particularly important when rendering Chinese text, where underlining is used to [punctuate proper nouns](https://www.w3.org/International/clreq/#id88), and adjacent proper nouns should have separate underlines. See [Effect of the `auto` value](#effect_of_the_auto_value) for an example. From e02a864c445ce44efe815d921ab8fcc46fbfd4c5 Mon Sep 17 00:00:00 2001 From: Aashish Mahato <145881415+aashish254@users.noreply.github.com> Date: Tue, 22 Sep 2026 15:22:07 +0545 Subject: [PATCH 2/9] Fix getElementByID typos in HTMLAreaElement/HTMLAnchorElement examples (#45816) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The examples use document.getElementByID() (capital D), which throws a TypeError if a reader copy-pastes them — the method is getElementById(). Fixes 8 occurrences across the password, port, and username pages of both elements. --- files/en-us/web/api/htmlanchorelement/password/index.md | 2 +- files/en-us/web/api/htmlanchorelement/port/index.md | 4 ++-- files/en-us/web/api/htmlanchorelement/username/index.md | 2 +- files/en-us/web/api/htmlareaelement/password/index.md | 2 +- files/en-us/web/api/htmlareaelement/port/index.md | 4 ++-- files/en-us/web/api/htmlareaelement/username/index.md | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/files/en-us/web/api/htmlanchorelement/password/index.md b/files/en-us/web/api/htmlanchorelement/password/index.md index e812fa0bc6a5dd7..05bc7b48ff5d7ac 100644 --- a/files/en-us/web/api/htmlanchorelement/password/index.md +++ b/files/en-us/web/api/htmlanchorelement/password/index.md @@ -24,7 +24,7 @@ A string. ```js // An is in the document -const anchor = document.getElementByID("myAnchor"); +const anchor = document.getElementById("myAnchor"); anchor.password; // returns 'flabada' ``` diff --git a/files/en-us/web/api/htmlanchorelement/port/index.md b/files/en-us/web/api/htmlanchorelement/port/index.md index 6b0bed38042d727..852b4587f6ea147 100644 --- a/files/en-us/web/api/htmlanchorelement/port/index.md +++ b/files/en-us/web/api/htmlanchorelement/port/index.md @@ -24,13 +24,13 @@ A string. ```js // An element is in the document -const anchor = document.getElementByID("myAnchor"); +const anchor = document.getElementById("myAnchor"); anchor.port; // returns '' ``` ```js // Another element is in the document -const anchor = document.getElementByID("myAnchor"); +const anchor = document.getElementById("myAnchor"); anchor.port; // Returns:'8888' ``` diff --git a/files/en-us/web/api/htmlanchorelement/username/index.md b/files/en-us/web/api/htmlanchorelement/username/index.md index 8e8c8718f2a04b7..51988a1261c1600 100644 --- a/files/en-us/web/api/htmlanchorelement/username/index.md +++ b/files/en-us/web/api/htmlanchorelement/username/index.md @@ -26,7 +26,7 @@ A string. ```js // An element is in the document -const anchor = document.getElementByID("myAnchor"); +const anchor = document.getElementById("myAnchor"); anchor.username; // returns 'anonymous' ``` diff --git a/files/en-us/web/api/htmlareaelement/password/index.md b/files/en-us/web/api/htmlareaelement/password/index.md index ec76187d8d614b1..9fe2254611b7dd6 100644 --- a/files/en-us/web/api/htmlareaelement/password/index.md +++ b/files/en-us/web/api/htmlareaelement/password/index.md @@ -24,7 +24,7 @@ A string. ```js // An is in the document -const area = document.getElementByID("myArea"); +const area = document.getElementById("myArea"); area.password; // returns 'flabada' ``` diff --git a/files/en-us/web/api/htmlareaelement/port/index.md b/files/en-us/web/api/htmlareaelement/port/index.md index 5426e70500141d8..f139c13e28fa1d5 100644 --- a/files/en-us/web/api/htmlareaelement/port/index.md +++ b/files/en-us/web/api/htmlareaelement/port/index.md @@ -24,13 +24,13 @@ A string. ```js // An element is in the document -const area = document.getElementByID("myArea"); +const area = document.getElementById("myArea"); area.port; // Returns '' ``` ```js // Another element is in the document -const area = document.getElementByID("myArea"); +const area = document.getElementById("myArea"); area.port; // Returns:'8888' ``` diff --git a/files/en-us/web/api/htmlareaelement/username/index.md b/files/en-us/web/api/htmlareaelement/username/index.md index 102224cf76db283..3225337cb1cfad4 100644 --- a/files/en-us/web/api/htmlareaelement/username/index.md +++ b/files/en-us/web/api/htmlareaelement/username/index.md @@ -26,7 +26,7 @@ A string. ```js // An element is in the document -const area = document.getElementByID("myArea"); +const area = document.getElementById("myArea"); area.username; // returns 'anonymous' ``` From 6359a641e35ad58483db567471463c1123a1e3a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Sep 2026 10:45:26 +0100 Subject: [PATCH 3/9] build(deps-dev): bump @mdn/fred from 2.9.1 to 2.9.2 (#45761) Signed-off-by: dependabot[bot] --- package-lock.json | 56 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 970f4e48baa56ee..405d763a1815cc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "SEE LICENSE IN LICENSE.md", "devDependencies": { "@apideck/better-ajv-errors": "^0.3.7", - "@mdn/fred": "2.9.1", + "@mdn/fred": "2.9.2", "@octokit/rest": "^22.0.1", "ajv": "^8.20.0", "ajv-formats": "^3.0.1", @@ -240,9 +240,9 @@ } }, "node_modules/@codemirror/state": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.4.tgz", - "integrity": "sha512-QhQIVRY+xHZDxwOSFrJ1eUMapJBUID3IdeAjf7dHO7zBUzSkyooHiodnalz5MG3iHzwixKMlAAyn7244y537EA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.5.tgz", + "integrity": "sha512-QjLbZmY1Au3JiRrDVYFLRD0BZ3SOKS9pR3yjIkd7u27YY8TFD9/Q9fhPnLV5l1mHFSo3hHU/N31vpwEJOx4owQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1102,9 +1102,9 @@ "license": "MIT" }, "node_modules/@mdn/fred": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@mdn/fred/-/fred-2.9.1.tgz", - "integrity": "sha512-8uXrLj3rbrzh1bwjHWpIG4GLoyHMXNiXLi+z5k9UML7jSXY7VHqsg4mftirmpGpFnRxzxGJXzcrn/Bb1IXZn8A==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@mdn/fred/-/fred-2.9.2.tgz", + "integrity": "sha512-bBf3KHVO/gRovEo5LjqOrSx1D3l1Yt2UkUJe0VT1WTIi3nP8Lc8NQG6FN309iilnvKqpBS/7rPzZN2N16ftNzg==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -1112,15 +1112,15 @@ "@codemirror/lang-html": "^6.4.12", "@codemirror/lang-javascript": "^6.2.5", "@codemirror/lang-wast": "^6.0.2", - "@codemirror/state": "^6.7.4", + "@codemirror/state": "^6.7.5", "@codemirror/theme-one-dark": "^6.1.2", "@fluent/bundle": "^0.19.0", "@lit-labs/ssr": "^4.1.0", "@lit-labs/ssr-client": "^1.1.8", "@lit/task": "^1.0.3", - "@mdn/rari": "0.2.34", + "@mdn/rari": "0.2.35", "@mdn/watify": "^1.1.10", - "@mozilla/glean": "^5.0.8", + "@mozilla/glean": "^5.0.10", "codemirror": "^6.0.1", "compression": "^1.8.2", "concurrently": "^10.0.5", @@ -1147,9 +1147,9 @@ } }, "node_modules/@mdn/rari": { - "version": "0.2.34", - "resolved": "https://registry.npmjs.org/@mdn/rari/-/rari-0.2.34.tgz", - "integrity": "sha512-jyEtXZ8blZ7UgJWciXvzeblCSdqzln7uP9cHSp5eUKF3DuQm2U8W1imBygQw6x1vwp6WTQ53Zltzs81AZzSb1Q==", + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/@mdn/rari/-/rari-0.2.35.tgz", + "integrity": "sha512-UDXhD6xtTJTlvVjzF96hZQaLF1bS2SQ1Ox3IVVGk6g+N0Qf9HuZba5Q5HcQd7K/JpwKrSqX0z2Do5DKrr7/9RQ==", "dev": true, "hasInstallScript": true, "license": "MPL-2.0", @@ -1175,15 +1175,15 @@ "license": "MPL-2.0" }, "node_modules/@mozilla/glean": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@mozilla/glean/-/glean-5.0.8.tgz", - "integrity": "sha512-8Y2GVhOUVCBssE8vNEgG7pzUUviyt+KzGOXh1Ewy23FKz55Rd0kcpnaHksqp6WldORgMdTKI+qN+M7C+6bv7aA==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@mozilla/glean/-/glean-5.0.10.tgz", + "integrity": "sha512-Ze8HPhMoL32Fv4cZaE7R8XvoJZ3oCAjcvLv9/J0BwAuLFFUu/GPvK6IeIkEzXyiC9YhCol1B3hlKSyToDwnqHw==", "dev": true, "license": "MPL-2.0", "dependencies": { - "fflate": "^0.8.0", + "fflate": "^0.8.2", "tslib": "^2.3.1", - "uuid": "^9.0.0" + "uuid": "^14.0.1" }, "bin": { "glean": "dist/cli/cli.js" @@ -4198,9 +4198,9 @@ } }, "node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", + "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", "dev": true, "license": "MIT" }, @@ -5904,9 +5904,9 @@ } }, "node_modules/js-yaml": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.1.tgz", - "integrity": "sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.2.tgz", + "integrity": "sha512-m+aqu+LwO1O6sIopafj8HUVl5aawITwZQe/yHpMCKjaWBaA/d07B/QdMb3529REftiU+RMMHL3Vlsw3hON7vWg==", "dev": true, "funding": [ { @@ -9617,9 +9617,9 @@ "license": "MIT" }, "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.2.tgz", + "integrity": "sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==", "dev": true, "funding": [ "https://github.com/sponsors/broofa", @@ -9627,7 +9627,7 @@ ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/vary": { diff --git a/package.json b/package.json index a1bf4e36725f553..692622d227659ae 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ }, "devDependencies": { "@apideck/better-ajv-errors": "^0.3.7", - "@mdn/fred": "2.9.1", + "@mdn/fred": "2.9.2", "@octokit/rest": "^22.0.1", "ajv": "^8.20.0", "ajv-formats": "^3.0.1", From cc84075a9cd5603cbcf6269ff60cbf561683b20a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Sep 2026 10:50:34 +0100 Subject: [PATCH 4/9] build(deps-dev): bump markdownlint-cli2 from 0.23.2 to 0.23.3 (#45808) Signed-off-by: dependabot[bot] --- package-lock.json | 131 ++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 64 insertions(+), 69 deletions(-) diff --git a/package-lock.json b/package-lock.json index 405d763a1815cc0..722881c96098d9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "imagemin-svgo": "^12.0.0", "is-svg": "^6.1.0", "lefthook": "^2.1.14", - "markdownlint-cli2": "0.23.2", + "markdownlint-cli2": "0.23.3", "markdownlint-rule-search-replace": "1.2.0", "node-html-parser": "^9.0.4", "parse-diff": "^0.12.0", @@ -2920,19 +2920,6 @@ "node": ">=22.18.0" } }, - "node_modules/cspell-config-lib/node_modules/smol-toml": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.8.0.tgz", - "integrity": "sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 18" - }, - "funding": { - "url": "https://github.com/sponsors/cyyynthia" - } - }, "node_modules/cspell-dictionary": { "version": "10.3.2", "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-10.3.2.tgz", @@ -4655,9 +4642,9 @@ } }, "node_modules/globby": { - "version": "16.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.2.tgz", - "integrity": "sha512-NLvV9ubZ6NDsJaOpKPy3cQeJpKi9DcWiyCiFUpJPA0YihRqiE6RWaLUmgNNPr8MgPpLZjnBjSmou7uZBRJv9wA==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.4.tgz", + "integrity": "sha512-c8B/VNLmxRcmqqenRA9t+9IyOjf9+V6lTxPaUJLqOCONdQkWZ0ETYgX0qbtJqPsgCNusT9MZ5Jeidw8Eb9tn2g==", "dev": true, "license": "MIT", "dependencies": { @@ -4665,6 +4652,7 @@ "fast-glob": "^3.3.3", "ignore": "^7.0.5", "is-path-inside": "^4.0.0", + "micromatch": "^4.0.8", "slash": "^5.1.0", "unicorn-magic": "^0.4.0" }, @@ -6243,9 +6231,9 @@ } }, "node_modules/linkify-it": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz", - "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-6.1.0.tgz", + "integrity": "sha512-wJ/TwpSDTLepCrQoYWYIExIKg5Zchex2Nn5yk2mFnB+6PtdkHtyLx742md9csRjjOnGkKIS/RrbY7l8D6gT9Vw==", "dev": true, "funding": [ { @@ -6259,7 +6247,7 @@ ], "license": "MIT", "dependencies": { - "uc.micro": "^2.0.0" + "uc.micro": "^3.0.0" } }, "node_modules/lit": { @@ -6338,9 +6326,9 @@ } }, "node_modules/markdown-it": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.0.tgz", - "integrity": "sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-15.0.1.tgz", + "integrity": "sha512-9/7gE95FNPkfUWrjJIoHZza2iLmuJlPD0UNMxPi7bxUrbCR525YZY0r+zyfes0dZI5ZZ/uNIXUJca0pJvtw41g==", "dev": true, "funding": [ { @@ -6354,17 +6342,47 @@ ], "license": "MIT", "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.5.0", - "linkify-it": "^5.0.2", - "mdurl": "^2.0.0", + "argparse": "^3.0.0", + "entities": "^8.0.0", + "linkify-it": "^6.0.0", + "mdurl": "^2.1.0", "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" + "uc.micro": "^3.0.0" }, "bin": { "markdown-it": "bin/markdown-it.mjs" } }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-3.0.2.tgz", + "integrity": "sha512-mFdDM6WqWKraGLsVb+C9CahPnzTXOefAOLq3jYcca2YZ8bEWpr++Tzj+zSaKW9+X9L5uSxcm1AZ3Y6aZJ09OhQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "PSF-2.0" + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.1.0.tgz", + "integrity": "sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/markdownlint": { "version": "0.41.1", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.1.tgz", @@ -6390,21 +6408,21 @@ } }, "node_modules/markdownlint-cli2": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.23.2.tgz", - "integrity": "sha512-eUhcnkSpzURo/o4htSqc7LPDszgOOTknhU4eY/sPHvMCLxnTCYscv1gw1/js/idmaZPisv9ECVEIORcllqjTUw==", + "version": "0.23.3", + "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.23.3.tgz", + "integrity": "sha512-xAr5o/TGpC3v6lE6cKIW4b5eOFRrRX5u7Vtjae9ix3RALv8nNOd94XMkD/1OXXBtpMcJ4uQGbpSo3hv5UqS4uQ==", "dev": true, "license": "MIT", "dependencies": { - "globby": "16.2.2", - "js-yaml": "5.2.2", + "globby": "16.2.4", + "js-yaml": "5.4.1", "jsonc-parser": "3.3.1", "jsonpointer": "5.0.1", - "markdown-it": "14.3.0", + "markdown-it": "15.0.1", "markdownlint": "0.41.1", "markdownlint-cli2-formatter-default": "0.0.6", "micromatch": "4.0.8", - "smol-toml": "1.7.0" + "smol-toml": "1.8.0" }, "bin": { "markdownlint-cli2": "markdownlint-cli2-bin.mjs" @@ -6429,29 +6447,6 @@ "markdownlint-cli2": ">=0.0.4" } }, - "node_modules/markdownlint-cli2/node_modules/js-yaml": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.2.tgz", - "integrity": "sha512-dayzUzKkJ1MkuUtZglSebU43utNXH0OWQByK9rKOOuYIO8M5TV1y+n8ALMdG0rdzBnfNkOmZEqrURepb0ejqBw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/puzrin" - }, - { - "type": "github", - "url": "https://github.com/sponsors/nodeca" - } - ], - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.mjs" - } - }, "node_modules/markdownlint-micromark": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz", @@ -6539,9 +6534,9 @@ "license": "CC0-1.0" }, "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz", + "integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==", "dev": true, "license": "MIT" }, @@ -8838,9 +8833,9 @@ } }, "node_modules/smol-toml": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz", - "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.8.0.tgz", + "integrity": "sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -9482,9 +9477,9 @@ } }, "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-3.0.0.tgz", + "integrity": "sha512-U3PppEkleoTnIfi8BozMx3yju3qc/L6SwqWo2Sw+54PX+PX0q9I+r1Um5HCmqD7n9VDX5/v3vQH/AjA6deDdtw==", "dev": true, "license": "MIT" }, diff --git a/package.json b/package.json index 692622d227659ae..17f4d57eb03c8fc 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "imagemin-svgo": "^12.0.0", "is-svg": "^6.1.0", "lefthook": "^2.1.14", - "markdownlint-cli2": "0.23.2", + "markdownlint-cli2": "0.23.3", "markdownlint-rule-search-replace": "1.2.0", "node-html-parser": "^9.0.4", "parse-diff": "^0.12.0", From fa11ce4e47e22d7267a38d020ac646d179c834a1 Mon Sep 17 00:00:00 2001 From: Leo McArdle Date: Tue, 22 Sep 2026 11:00:59 +0100 Subject: [PATCH 5/9] build(deps-dev): fix package-lock.json after markdownlint-cli2 bump (#45818) --- package-lock.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/package-lock.json b/package-lock.json index 722881c96098d9f..58a7a77dc52f503 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6447,6 +6447,29 @@ "markdownlint-cli2": ">=0.0.4" } }, + "node_modules/markdownlint-cli2/node_modules/js-yaml": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.1.tgz", + "integrity": "sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.mjs" + } + }, "node_modules/markdownlint-micromark": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz", From 298079b550c76f20de6611c4ecdde4c30dc68b2b Mon Sep 17 00:00:00 2001 From: Lorenz Haberzettl <57999645+lorenzhaberzettl@users.noreply.github.com> Date: Tue, 22 Sep 2026 12:09:51 +0200 Subject: [PATCH 6/9] Fix grammar and typos in CSS, JavaScript, and SVG docs (#45817) Fix multiple typos --- files/en-us/glossary/grid/index.md | 2 +- files/en-us/web/css/guides/box_model/introduction/index.md | 2 +- files/en-us/web/css/guides/cascade/specificity/index.md | 6 +++--- files/en-us/web/css/guides/grid_layout/index.md | 4 ++-- .../web/css/guides/selectors/using__colon_target/index.md | 2 +- files/en-us/web/javascript/guide/using_promises/index.md | 2 +- files/en-us/web/svg/reference/element/script/index.md | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/files/en-us/glossary/grid/index.md b/files/en-us/glossary/grid/index.md index 0c3f36595eacf5e..309c258aaf8a1ec 100644 --- a/files/en-us/glossary/grid/index.md +++ b/files/en-us/glossary/grid/index.md @@ -11,7 +11,7 @@ The grid that you define using these properties is described as an _explicit gri If you place content outside of this explicit grid, or if you are relying on auto-placement and the grid algorithm needs to create additional row or column {{glossary("grid tracks", "tracks")}} to hold {{glossary("grid cell", "grid cells")}}, then extra tracks will be created in the implicit grid. The _implicit grid_ is the grid created automatically due to content being added outside of the tracks defined. -In the example below I have created an _explicit grid_ of three columns and two rows. The _third_ row on the grid is an _implicit grid_ row track, formed due to their being more than the six items which fill the explicit tracks. +In the example below I have created an _explicit grid_ of three columns and two rows. The _third_ row on the grid is an _implicit grid_ row track, formed due to there being more than the six items which fill the explicit tracks. ## Example diff --git a/files/en-us/web/css/guides/box_model/introduction/index.md b/files/en-us/web/css/guides/box_model/introduction/index.md index 19bf143f6ad0a56..551670ec7fb6893 100644 --- a/files/en-us/web/css/guides/box_model/introduction/index.md +++ b/files/en-us/web/css/guides/box_model/introduction/index.md @@ -28,7 +28,7 @@ The thickness of the padding is determined by the {{cssxref("padding-top")}}, {{ The **border area**, bounded by the border edge, extends the padding area to include the element's borders. Its dimensions are the _border-box width_ and the _border-box height_. -The thickness of the borders are determined by the {{cssxref("border-width")}} and shorthand {{cssxref("border")}} properties. If the {{cssxref("box-sizing")}} property is set to `border-box`, the border area's size can be explicitly defined with the {{cssxref("width")}}, {{cssxref("min-width")}}, {{cssxref("max-width")}}, {{ cssxref("height") }}, {{cssxref("min-height")}}, and {{cssxref("max-height")}} properties. When there is a background ({{cssxref("background-color")}} or {{cssxref("background-image")}}) set on a box, it extends to the outer edge of the border (i.e., extends underneath the border in z-ordering). This default behavior can be altered with the {{cssxref("background-clip")}} CSS property. +The thickness of the borders is determined by the {{cssxref("border-width")}} and shorthand {{cssxref("border")}} properties. If the {{cssxref("box-sizing")}} property is set to `border-box`, the border area's size can be explicitly defined with the {{cssxref("width")}}, {{cssxref("min-width")}}, {{cssxref("max-width")}}, {{ cssxref("height") }}, {{cssxref("min-height")}}, and {{cssxref("max-height")}} properties. When there is a background ({{cssxref("background-color")}} or {{cssxref("background-image")}}) set on a box, it extends to the outer edge of the border (i.e., extends underneath the border in z-ordering). This default behavior can be altered with the {{cssxref("background-clip")}} CSS property. ## Margin area diff --git a/files/en-us/web/css/guides/cascade/specificity/index.md b/files/en-us/web/css/guides/cascade/specificity/index.md index 497c4f6591e5bb6..e67f49ed0a6ae63 100644 --- a/files/en-us/web/css/guides/cascade/specificity/index.md +++ b/files/en-us/web/css/guides/cascade/specificity/index.md @@ -179,7 +179,7 @@ p, } ``` -In the above code block the complex selector `p, #fakeId` the specificity is taken from `#fakeId` and also the `span`, so this create a specificity of `1-0-1` for both `p span` and `#fakeId span`. This is the equivalent specificity as the `:is(p, #fakeId) span` selector. +In the above code block the complex selector `p, #fakeId` the specificity is taken from `#fakeId` and also the `span`, so this creates a specificity of `1-0-1` for both `p span` and `#fakeId span`. This is the equivalent specificity as the `:is(p, #fakeId) span` selector. Generally, you want to keep specificity down to a minimum, but if you need to increase an element's specificity for a particular reason, these three pseudo-classes can help. @@ -349,12 +349,12 @@ To remove the perceived need for `!important`, you can do one of the following: All these methods are covered in preceding sections. -If you're unable to remove `!important` flags from an authors style sheet, the only solution to overriding the important styles is by using `!important`. Creating a [cascade layer](/en-US/docs/Web/CSS/Reference/At-rules/@layer) of important declaration overrides is an excellent solution. Two ways of doing this include: +If you're unable to remove `!important` flags from an author's style sheet, the only solution to overriding the important styles is by using `!important`. Creating a [cascade layer](/en-US/docs/Web/CSS/Reference/At-rules/@layer) of important declaration overrides is an excellent solution. Two ways of doing this include: #### Method 1 1. Create a separate, short style sheet containing only important declarations specifically overriding any important declarations you were unable to remove. -2. Import this stylesheet as the first import in your CSS using `layer()`, including the `@import` statement, before linking to other stylesheets. This is to ensure that the important overrides is imported as the first layer. +2. Import this stylesheet as the first import in your CSS using `layer()`, including the `@import` statement, before linking to other stylesheets. This is to ensure that the important overrides are imported as the first layer. ```css @import "importantOverrides.css" layer(); diff --git a/files/en-us/web/css/guides/grid_layout/index.md b/files/en-us/web/css/guides/grid_layout/index.md index 0d6ce59403c0ff7..1e98f1325820774 100644 --- a/files/en-us/web/css/guides/grid_layout/index.md +++ b/files/en-us/web/css/guides/grid_layout/index.md @@ -75,7 +75,7 @@ The example shows a three-column track grid with new rows created at a minimum o {{EmbedLiveSample("Grid_layout_in_action", "100%", "460")}} -This sample animation uses {{cssxref("display")}}, {{cssxref("grid-template-columns")}}, {{cssxref("grid-template-rows")}}, and {{cssxref("gap")}} to create the grid, and {{cssxref("grid-column")}} and {{cssxref("grid-row")}} to position items within in the grid. To view and edit the HTML and CSS used, click the 'Play' at the top right of the example. +This sample animation uses {{cssxref("display")}}, {{cssxref("grid-template-columns")}}, {{cssxref("grid-template-rows")}}, and {{cssxref("gap")}} to create the grid, and {{cssxref("grid-column")}} and {{cssxref("grid-row")}} to position items within the grid. To view and edit the HTML and CSS used, click the 'Play' at the top right of the example. ## Reference @@ -135,7 +135,7 @@ This sample animation uses {{cssxref("display")}}, {{cssxref("grid-template-colu - : Placing grid items using named template areas. - [Grid layout using named grid lines](/en-US/docs/Web/CSS/Guides/Grid_layout/Named_grid_lines) - - : Combining names and track sizes; placing grid items by defining named grid lined and template areas. + - : Combining names and track sizes; placing grid items by defining named grid lines and template areas. - [Auto-placement in grid layout](/en-US/docs/Web/CSS/Guides/Grid_layout/Auto-placement) - : How grid positions items that don't have any placement properties declared. diff --git a/files/en-us/web/css/guides/selectors/using__colon_target/index.md b/files/en-us/web/css/guides/selectors/using__colon_target/index.md index b4127412124390c..77fa2c5140cd37c 100644 --- a/files/en-us/web/css/guides/selectors/using__colon_target/index.md +++ b/files/en-us/web/css/guides/selectors/using__colon_target/index.md @@ -12,7 +12,7 @@ When a URL points at a specific piece of a document using a [URL fragment identi The [pseudo-class](/en-US/docs/Web/CSS/Reference/Selectors/Pseudo-classes) {{cssxref(":target")}} is used to style the target element of the document identified using the URL fragment identifier. For example, the URL `https://developer.mozilla.org/en-US/docs/Web/CSS#reference` contains the fragment identifier `#reference`. In HTML, identifiers are found as the values of either `id` or `name` attributes, since the two share the same namespace. Thus, the example URL would point to the element that has the id `reference` in that document. -To style any `h2` element that is the target of a URL, while not effecting any other kind of element to get a target style, use the `:target` pseudo-class with the [type selector](/en-US/docs/Web/CSS/Reference/Selectors/Type_selectors): +To style any `h2` element that is the target of a URL, while not affecting any other kind of element to get a target style, use the `:target` pseudo-class with the [type selector](/en-US/docs/Web/CSS/Reference/Selectors/Type_selectors): ```css h2:target { diff --git a/files/en-us/web/javascript/guide/using_promises/index.md b/files/en-us/web/javascript/guide/using_promises/index.md index df854a7cb07e7cc..18fc8a49cb27f0d 100644 --- a/files/en-us/web/javascript/guide/using_promises/index.md +++ b/files/en-us/web/javascript/guide/using_promises/index.md @@ -483,7 +483,7 @@ doSomething(() => { console.log(value); // 1 or 2? ``` -On the other hand, promises are a form of [inversion of control](https://en.wikipedia.org/wiki/Inversion_of_control) — the API implementor does not control when the callback gets called. Instead, the job of maintaining the callback queue and deciding when to call the callbacks is delegated to the promise implementation, and both the API user and API developer automatically gets strong semantic guarantees, including: +On the other hand, promises are a form of [inversion of control](https://en.wikipedia.org/wiki/Inversion_of_control) — the API implementor does not control when the callback gets called. Instead, the job of maintaining the callback queue and deciding when to call the callbacks is delegated to the promise implementation, and both the API user and API developer automatically get strong semantic guarantees, including: - Callbacks added with [`then()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then) will never be invoked before the [completion of the current run](/en-US/docs/Web/JavaScript/Reference/Execution_model#run-to-completion) of the JavaScript event loop. - These callbacks will be invoked even if they were added _after_ the success or failure of the asynchronous operation that the promise represents. diff --git a/files/en-us/web/svg/reference/element/script/index.md b/files/en-us/web/svg/reference/element/script/index.md index 6f9b0ac73a026f0..4ca2f94f39d835c 100644 --- a/files/en-us/web/svg/reference/element/script/index.md +++ b/files/en-us/web/svg/reference/element/script/index.md @@ -21,7 +21,7 @@ The **`