From 29559eb4412f46238350b8aac720d8c7ef9b0b28 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Jul 2026 14:09:59 +0200 Subject: [PATCH 1/3] Fix markdown syntax for external links --- pages/glossary/label-in-name-algorithm.md | 31 ++++++++++++----------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/pages/glossary/label-in-name-algorithm.md b/pages/glossary/label-in-name-algorithm.md index 975e2e740c..652fab6586 100755 --- a/pages/glossary/label-in-name-algorithm.md +++ b/pages/glossary/label-in-name-algorithm.md @@ -10,34 +10,35 @@ input_aspects: To check whether an [element][] has its label contained in its name, follow this algorithm: -Let `label` be the [visible inner text][] of the target element. Let `name` be the [accessible name][] of the target element. Both `label` and `name` are strings. +Let `label` be the [visible inner text][] of the target element. Let `name` be the [accessible name][] of the target element. Both `label` and `name` are strings. Sub-algorithm to tokenize a string: 1. Remove parentheses (U+0028 LEFT PARENTHESIS and U+0029 RIGHT PARENTHESIS, known colloquially as round brackets) and all characters that are between a left and right parenthesis. - - Don't do this for other kind of brackets such as square brackets and curly brackets. + - Don't do this for other kind of brackets such as square brackets and curly brackets. 1. Do Unicode [case folding][] on the string then convert it to [normalization form KD][]. 1. For each character that either a) represents non-text content, or b) isn't a letter or a digit: replace that character with a space character. - - For a) Determination of what "non-text" is often requires a judgment call. Non-text includes, but is not limited to, emoji, and the use of the letter 'X' as a symbol which means 'close this modal dialog'. - - For b) Use the [Unicode general categories "L" (Letter) and "N" (Number)][https://www.unicode.org/versions/Unicode17.0.0/core-spec/chapter-4/#G134153]. (This will exclude hyphens, punctuation, emoji, and more.) -1. Split the string into a list of strings, one string per word, according to the word segmentation rules for the [language of the element][https://html.spec.whatwg.org/multipage/dom.html#language]. - - This 'split' operation must: - - Effectively remove leading and trailing [whitespace][]. - - If the input string contains nothing but [whitespace][] before this operation: return an empty list. - - In English and most other European languages, a greedy [whitespace][] regular expression will accomplish this. In languages such as Thai, Chinese, and Japanese, it won't. - - A consequence of using the ACT definition of [whitespace][] here is that all kinds of whitespace are covered. That includes the Unicode code point U+00A0 NO-BREAK SPACE (NBSP), which can be represented by the HTML named character reference ` `. + - For a) Determination of what "non-text" is often requires a judgment call. Non-text includes, but is not limited to, emoji, and the use of the letter 'X' as a symbol which means 'close this modal dialog'. + - For b) Use the [Unicode general categories "L" (Letter) and "N" (Number)](https://www.unicode.org/versions/Unicode17.0.0/core-spec/chapter-4/#G134153). (This will exclude hyphens, punctuation, emoji, and more.) +1. Split the string into a list of strings, one string per word, according to the word segmentation rules for the [language of the element](https://html.spec.whatwg.org/multipage/dom.html#language). + - This 'split' operation must: + - Effectively remove leading and trailing [whitespace][]. + - If the input string contains nothing but [whitespace][] before this operation: return an empty list. + - In English and most other European languages, a greedy [whitespace][] regular expression will accomplish this. In languages such as Thai, Chinese, and Japanese, it won't. + - A consequence of using the ACT definition of [whitespace][] here is that all kinds of whitespace are covered. That includes the Unicode code point U+00A0 NO-BREAK SPACE (NBSP), which can be represented by the HTML named character reference ` `. Then do the check: is the tokenized `label` a contiguous subsequence of the tokenized `name`? + - This "contiguous subsequence" check has these properties: - - Each string comparison (between a list element in the tokenized label and a list element in the tokenized name) is a simple string equality check. - - The "contiguous" aspect means that it's crucial that the elements are consecutive in the original list. Put another way: a contiguous subsequence of X can be obtained by removing any number of tokens from the start and/or end (but not the middle) of X. For example: ["A", "B", "C"] is a contiguous subsequence of ["A", "B", "C", "D"]; but ["A", "B", "D"] is not. - - An empty list is a contiguous subsequence of any list. + - Each string comparison (between a list element in the tokenized label and a list element in the tokenized name) is a simple string equality check. + - The "contiguous" aspect means that it's crucial that the elements are consecutive in the original list. Put another way: a contiguous subsequence of X can be obtained by removing any number of tokens from the start and/or end (but not the middle) of X. For example: ["A", "B", "C"] is a contiguous subsequence of ["A", "B", "C", "D"]; but ["A", "B", "D"] is not. + - An empty list is a contiguous subsequence of any list. -If the answer is "yes" (that is: the tokenized 'label' is a contiguous subsequence of the tokenized 'name'), then this algorithm returns "is contained". Otherwise, it returns "is not contained". +If the answer is "yes" (that is: the tokenized 'label' is a contiguous subsequence of the tokenized 'name'), then this algorithm returns "is contained". Otherwise, it returns "is not contained". [accessible name]: #accessible-name 'Definition of accessible name' [case folding]: https://www.w3.org/TR/charmod-norm/#dfn-case-folding [element]: https://dom.spec.whatwg.org/#element -[normalization form KD]: https://www.unicode.org/glossary/#normalization_form_kd +[normalization form kd]: https://www.unicode.org/glossary/#normalization_form_kd [visible inner text]: #visible-inner-text 'Definition of Visible inner text' [whitespace]: #whitespace 'Definition of whitespace' From 8083220b11c63553d864a2523785c13522647c35 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Jul 2026 19:48:03 +0200 Subject: [PATCH 2/3] update spellling ignore --- __tests__/spelling-ignore.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/__tests__/spelling-ignore.yml b/__tests__/spelling-ignore.yml index e7d0c16864..77283fa8f1 100644 --- a/__tests__/spelling-ignore.yml +++ b/__tests__/spelling-ignore.yml @@ -268,6 +268,7 @@ - 4E00–9FFF - 00A0 - KD +- kd # JSON attributes/ metadata/ methods - examples From 614317420d518f135a599bd2eabf9229359444ad Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 23 Jul 2026 12:21:03 +0200 Subject: [PATCH 3/3] MArkdown fixes --- __tests__/spelling-ignore.yml | 1 - pages/glossary/label-in-name-algorithm.md | 29 +++++++++++------------ 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/__tests__/spelling-ignore.yml b/__tests__/spelling-ignore.yml index 77283fa8f1..e7d0c16864 100644 --- a/__tests__/spelling-ignore.yml +++ b/__tests__/spelling-ignore.yml @@ -268,7 +268,6 @@ - 4E00–9FFF - 00A0 - KD -- kd # JSON attributes/ metadata/ methods - examples diff --git a/pages/glossary/label-in-name-algorithm.md b/pages/glossary/label-in-name-algorithm.md index 652fab6586..dae5e12981 100755 --- a/pages/glossary/label-in-name-algorithm.md +++ b/pages/glossary/label-in-name-algorithm.md @@ -10,35 +10,34 @@ input_aspects: To check whether an [element][] has its label contained in its name, follow this algorithm: -Let `label` be the [visible inner text][] of the target element. Let `name` be the [accessible name][] of the target element. Both `label` and `name` are strings. +Let `label` be the [visible inner text][] of the target element. Let `name` be the [accessible name][] of the target element. Both `label` and `name` are strings. Sub-algorithm to tokenize a string: 1. Remove parentheses (U+0028 LEFT PARENTHESIS and U+0029 RIGHT PARENTHESIS, known colloquially as round brackets) and all characters that are between a left and right parenthesis. - - Don't do this for other kind of brackets such as square brackets and curly brackets. + - Don't do this for other kind of brackets such as square brackets and curly brackets. 1. Do Unicode [case folding][] on the string then convert it to [normalization form KD][]. 1. For each character that either a) represents non-text content, or b) isn't a letter or a digit: replace that character with a space character. - - For a) Determination of what "non-text" is often requires a judgment call. Non-text includes, but is not limited to, emoji, and the use of the letter 'X' as a symbol which means 'close this modal dialog'. - - For b) Use the [Unicode general categories "L" (Letter) and "N" (Number)](https://www.unicode.org/versions/Unicode17.0.0/core-spec/chapter-4/#G134153). (This will exclude hyphens, punctuation, emoji, and more.) + - For a) Determination of what "non-text" is often requires a judgment call. Non-text includes, but is not limited to, emoji, and the use of the letter 'X' as a symbol which means 'close this modal dialog'. + - For b) Use the [Unicode general categories "L" (Letter) and "N" (Number)](https://www.unicode.org/versions/Unicode17.0.0/core-spec/chapter-4/#G134153). (This will exclude hyphens, punctuation, emoji, and more.) 1. Split the string into a list of strings, one string per word, according to the word segmentation rules for the [language of the element](https://html.spec.whatwg.org/multipage/dom.html#language). - - This 'split' operation must: - - Effectively remove leading and trailing [whitespace][]. - - If the input string contains nothing but [whitespace][] before this operation: return an empty list. - - In English and most other European languages, a greedy [whitespace][] regular expression will accomplish this. In languages such as Thai, Chinese, and Japanese, it won't. - - A consequence of using the ACT definition of [whitespace][] here is that all kinds of whitespace are covered. That includes the Unicode code point U+00A0 NO-BREAK SPACE (NBSP), which can be represented by the HTML named character reference ` `. + - This 'split' operation must: + - Effectively remove leading and trailing [whitespace][]. + - If the input string contains nothing but [whitespace][] before this operation: return an empty list. + - In English and most other European languages, a greedy [whitespace][] regular expression will accomplish this. In languages such as Thai, Chinese, and Japanese, it won't. + - A consequence of using the ACT definition of [whitespace][] here is that all kinds of whitespace are covered. That includes the Unicode code point U+00A0 NO-BREAK SPACE (NBSP), which can be represented by the HTML named character reference ` `. Then do the check: is the tokenized `label` a contiguous subsequence of the tokenized `name`? - - This "contiguous subsequence" check has these properties: - - Each string comparison (between a list element in the tokenized label and a list element in the tokenized name) is a simple string equality check. - - The "contiguous" aspect means that it's crucial that the elements are consecutive in the original list. Put another way: a contiguous subsequence of X can be obtained by removing any number of tokens from the start and/or end (but not the middle) of X. For example: ["A", "B", "C"] is a contiguous subsequence of ["A", "B", "C", "D"]; but ["A", "B", "D"] is not. - - An empty list is a contiguous subsequence of any list. + - Each string comparison (between a list element in the tokenized label and a list element in the tokenized name) is a simple string equality check. + - The "contiguous" aspect means that it's crucial that the elements are consecutive in the original list. Put another way: a contiguous subsequence of X can be obtained by removing any number of tokens from the start and/or end (but not the middle) of X. For example: ["A", "B", "C"] is a contiguous subsequence of ["A", "B", "C", "D"]; but ["A", "B", "D"] is not. + - An empty list is a contiguous subsequence of any list. -If the answer is "yes" (that is: the tokenized 'label' is a contiguous subsequence of the tokenized 'name'), then this algorithm returns "is contained". Otherwise, it returns "is not contained". +If the answer is "yes" (that is: the tokenized 'label' is a contiguous subsequence of the tokenized 'name'), then this algorithm returns "is contained". Otherwise, it returns "is not contained". [accessible name]: #accessible-name 'Definition of accessible name' [case folding]: https://www.w3.org/TR/charmod-norm/#dfn-case-folding [element]: https://dom.spec.whatwg.org/#element -[normalization form kd]: https://www.unicode.org/glossary/#normalization_form_kd +[normalization form KD]: https://www.unicode.org/glossary/#normalization_form_kd [visible inner text]: #visible-inner-text 'Definition of Visible inner text' [whitespace]: #whitespace 'Definition of whitespace'