schema: ai-cjm-component-contract/v1 id: section-heading version: 2.0.0 status: stable owner: AI CJM Design purpose: Открывает секцию одним выводом, пояснением и при необходимости действием. use_when: [Каждая самостоятельная смысловая секция получает явный heading block.] evidence: - id: production-sections url: https://aicjm.ru/edu/ locator: section header and section h2 supports: [anatomy, variant:editorial, size:default, state:default] anatomy: - {id: title, required: true, role: Вывод секции.} - {id: support, required: false, role: Краткое пояснение.} - {id: action, required: false, role: Один переход после понимания тезиса.} variants: - {id: editorial, status: stable, description: Left-aligned title and support., evidence_refs: [production-sections]} sizes: - {id: default, status: stable, description: Heading size follows semantic heading tokens., evidence_refs: [production-sections]} states: default: {status: stable, basis: observed, description: Heading block is visible., evidence_refs: [production-sections]} hover: {status: not-applicable, basis: not-applicable, description: Owned actions delegate hover.} focus-visible: {status: not-applicable, basis: not-applicable, description: Owned actions delegate focus.} active: {status: not-applicable, basis: not-applicable, description: No owned active state.} selected: {status: not-applicable, basis: not-applicable, description: No selection.} open: {status: not-applicable, basis: not-applicable, description: No disclosure.} disabled: {status: not-applicable, basis: not-applicable, description: No disabled state.} loading: {status: not-applicable, basis: not-applicable, description: Loading belongs to section content.} success: {status: not-applicable, basis: not-applicable, description: Outcome belongs to section content.} error: {status: not-applicable, basis: not-applicable, description: Error belongs to section content.} empty: {status: not-applicable, basis: not-applicable, description: Empty belongs to section content.} responsive: mode: side-action-to-stacked reading_order: Title and support precede the optional action. rules: [Stack action after support before title or labels become compressed.] accessibility: pattern: labelled-section semantics: [Section references its heading with aria-labelledby when needed.] keyboard: [Optional action delegates to button or text-link.] focus: [No focus on the static container.] motion: [Meaning does not depend on motion.] tokens: [text.primary, text.secondary, action.primary, type.size.heading-large] content: required: [One conclusion-led title.] constraints: - Support is shorter than the content it introduces. - Decorative eyebrow labels are not part of the web section-heading anatomy. do: [Name what the reader learns in the section.] dont: [Use generic labels such as Our advantages.] examples: approved: {status: stable, description: Conclusion plus one support paragraph., evidence: https://aicjm.ru/edu/} prohibited: {description: Centered decorative title with no informational claim.} acceptance: - {id: section-heading-1, criterion: Heading level follows page hierarchy., method: manual}