From 24a9bcd3cdf4bcec81c83b819d882f70bd6ab376 Mon Sep 17 00:00:00 2001 From: Giacomo Petri Date: Thu, 25 Apr 2024 13:09:48 +0200 Subject: [PATCH] Clarified and included CJK requirements in large text definition and updated rules affected by this change (#2121) * Update large-scale-text definition to include CJK languages with different requirements * updated rule slightly updated to reflect considerations about halfwidth and fullwidth differences * added unicode reference added unicode references * polishing definition * adding spaces * spaces * improving understandability * added bold for consistency * polishing the definition * adding passed and failed examples * fixes * cjk * fixes * add lang="ja" for Japanese examples in min contrast rule * add lang="ja" for Japanese sentences in contrast enhanced * accepted Wilco suggestion with few edits * Update large-scale-text.md * added words to dictionary * Update spelling-ignore.yml * Update large-scale-text.md * typo * Update spelling-ignore.yml * Apply suggestions from code review Co-authored-by: Jean-Yves Moyen * official to unofficial * Update large-scale-text.md * Update large-scale-text.md * replaced Japanese with Chinese * replaced Japanese with Chinese example * Update __tests__/spelling-ignore.yml * Update spelling.js * Update pages/glossary/large-scale-text.md Co-authored-by: Patrick H. Lauke * Update large-scale-text.md roll back to the original definition + note for CJK languages * Update text-contrast-afw4f7.md removed irrelevant failing examples (as there's no longer a distinction between CJK and Latin characters) and eliminated one passing example within the CJK range that was no longer pertinent based on the updated definition of large text * Update text-contrast-enhanced-09o5cg.md * Update text-contrast-afw4f7.md * Update large-scale-text.md * Update spelling-ignore.yml * Apply suggestions from code review Co-authored-by: Jean-Yves Moyen * Update large-scale-text.md * Update pages/glossary/large-scale-text.md Co-authored-by: Jean-Yves Moyen --------- Co-authored-by: Jean-Yves Moyen Co-authored-by: Wilco Fiers Co-authored-by: Patrick H. Lauke --- __tests__/spelling-ignore.yml | 4 ++++ __tests__/spelling.js | 2 +- pages/glossary/large-scale-text.md | 22 +++++++++++++++++++--- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/__tests__/spelling-ignore.yml b/__tests__/spelling-ignore.yml index c8a08a39404..436581b01bf 100644 --- a/__tests__/spelling-ignore.yml +++ b/__tests__/spelling-ignore.yml @@ -126,6 +126,7 @@ # Notes and acronyms - TODO - TBD +- CJK # Tool and library names - axe-core @@ -244,6 +245,9 @@ - 000B - 000C - 000D +- 4E00 +- 9FFF +- 4E00–9FFF # JSON attributes/ metadata/ methods - testcases diff --git a/__tests__/spelling.js b/__tests__/spelling.js index 0a0d4d5db10..1d0a166ff9d 100755 --- a/__tests__/spelling.js +++ b/__tests__/spelling.js @@ -109,7 +109,7 @@ function getCuratedMarkdownBody(body, options = {}) { * @returns {String[]} */ function getSpellIgnored() { - const ignoreConfigured = yaml.safeLoad(fs.readFileSync('./__tests__/spelling-ignore.yml', 'utf8')) + const ignoreConfigured = yaml.safeLoad(fs.readFileSync('./__tests__/spelling-ignore.yml', 'utf8'), {schema: yaml.FAILSAFE_SCHEMA}) //added schema due to entries starting with a non-zero digit /* Building spelling exception in the shape FOOxxx where xxx is a number. diff --git a/pages/glossary/large-scale-text.md b/pages/glossary/large-scale-text.md index a53f86a27ab..7efd8dd96dc 100755 --- a/pages/glossary/large-scale-text.md +++ b/pages/glossary/large-scale-text.md @@ -8,7 +8,23 @@ input_aspects: - DOM tree --- -Text nodes with a [computed](https://www.w3.org/TR/css-cascade-3/#computed-value) [font-size](https://www.w3.org/TR/css-fonts-3/#propdef-font-size) of: +A text node is large scale text if at least one of the following is true: -- at least 18 [points](https://www.w3.org/TR/css-values/#pt), or -- at least 14 [points](https://www.w3.org/TR/css-values/#pt) and a [computed](https://www.w3.org/TR/css-cascade-3/#computed-value) [font weight](https://www.w3.org/TR/css-fonts-3/#font-weight-prop) CSS property of 700 or higher. +- the text node [computed][] [font-size][] is at least 18 [points][], or +- the text node [computed][] [font-size][] is at least 14 [points][] and has a [computed][] [font weight][] of 700 or higher. + + +#### Background +In the domain of languages such as Chinese, Japanese, and Korean (CJK languages), encompassing the Unicode character range from 4E00 to 9FFF ([CJK Unified Ideographs](https://unicode.org/charts/PDF/U4E00.pdf)), it becomes crucial to acknowledge the intricate nuances in their typographic requirements. Despite sharing a common Unicode spectrum, each CJK language and its corresponding country may exhibit distinct typographic preferences and standards. + +Particularly noteworthy is the lack of uniformity in defining text sizes as either large or small within the following ranges: +- from 18 [points][] to 22 [points][] +- from 14 [points][] to 18 [points][] with a [computed][] [font weight][] of 700 or higher. + +Whether CJK characters in these ranges should be considered as "large scale" depends on the language of the text, as well as the country for which the text is designed and whose requirements must be followed. Given that these pieces of information are not readily available, the ACT rules adhere to the large text definition outlined above. This definition is applicable across all languages under the rationale of "no false positives." + + +[computed]: https://www.w3.org/TR/css-cascade-3/#computed-value +[font-size]: https://www.w3.org/TR/css-fonts-3/#propdef-font-size +[points]: https://www.w3.org/TR/css-values/#pt +[font weight]: https://www.w3.org/TR/css-fonts-3/#font-weight-prop