FIELD NOTES · ACCEPTANCE EXERCISES

A Chinese page can contain an English phrase with its own language

The commissioning decision

A bilingual consultancy page contains an English service phrase inside Chinese prose. The visible words can be correct while assistive technology receives only the surrounding language. Include language boundaries in a new-page acceptance brief, separate from language-switch links and bilingual URL pairing.

Source and claim boundary

The lang attribute declares the language of an element using a BCP47 tag. A declaration on a descendant can identify a different language from its surrounding content. MDN · Checked 16 October 2026.

Filled synthetic acceptance cases

Synthetic teaching data, not client records. Review the inputs and expected outcomes before running the isolated browser exercise. On narrow screens, scroll the table.

InputCheckExpected
Chinese article lang=zh-HansArticle declarationChinese context
English phrase lang=en-AUNearest declarationEnglish phrase context
English phrase with no local declarationInherited contextStill Chinese; review needed

How to verify beyond appearance

  1. Mark actual changes of language, not every brand name automatically.
  2. Inspect the nearest language declarations in the fixture.
  3. Ask for a screen-reader check in the supported language/voice configuration and retain the observed result.

Interpret the result

DOM declarations are inspectable evidence, but they do not prove a particular pronunciation or accessibility conformance. Record the browser, screen reader and installed voices for the real test. Avoid equating a language tag with an automatic translation, a search ranking signal or an AI recommendation. Those are different claims requiring different evidence.

What this does not prove

The fixture checks declarations only. It does not play audio, install voices or certify a screen-reader experience.

Runnable fixture and handover record

Open the browser acceptance fixture · Read the test source。The fixture creates temporary elements with synthetic values inside the browser. It reads no account, uploads no file, and sends no email or form. Record the browser version, check name, observed value and pass state. Keep real integration evidence separate: a local pass is not a live delivery result.