@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/windows-app-accessibility-ui-automation-guide/#article>
    schema:about <https://comcomponent.com/knowledge/ui-automation/>, <https://comcomponent.com/knowledge/reasonable-accommodation/> ;
    schema:mentions <https://comcomponent.com/knowledge/environment-improvement-duty/>, <https://comcomponent.com/knowledge/jis-x-8341-3/>, <https://comcomponent.com/knowledge/wcag2ict/>, <https://comcomponent.com/knowledge/uia-name-property/>, <https://comcomponent.com/knowledge/uia-control-pattern/>, <https://comcomponent.com/knowledge/screen-reader/>, <https://comcomponent.com/knowledge/winforms-accessible-name/>, <https://comcomponent.com/knowledge/label-tab-order-association/>, <https://comcomponent.com/knowledge/wpf-automation-properties/>, <https://comcomponent.com/knowledge/wpf-automation-peer/>, <https://comcomponent.com/knowledge/keyboard-operability/>, <https://comcomponent.com/knowledge/contrast-ratio/>, <https://comcomponent.com/knowledge/color-not-sole-means/>, <https://comcomponent.com/knowledge/contrast-theme/>, <https://comcomponent.com/knowledge/accessibility-insights/>, <https://comcomponent.com/knowledge/ui-thread-context/>, <https://comcomponent.com/knowledge/wcag/> .

<https://comcomponent.com/knowledge/ui-automation/> a skos:Concept ;
    skos:prefLabel "Windows UI Automation(UIA)"@ja ;
    skos:definition "スクリーンリーダーなどの支援技術やテスト自動化ツールが、アプリのUIをプログラムから読み取り・操作するためのWindowsの公式基盤。"@ja ;
    skos:altLabel "UI Automation" ;
    skos:altLabel "UIA" ;
    ks:uses <https://comcomponent.com/knowledge/uia-name-property/> ;
    ks:uses <https://comcomponent.com/knowledge/uia-control-pattern/> .

<https://comcomponent.com/knowledge/reasonable-accommodation/> a skos:Concept ;
    skos:prefLabel "合理的配慮の提供"@ja ;
    skos:definition "障害のある人からバリアを取り除きたいという意思が示されたとき、負担が重すぎない範囲で対応すること。改正障害者差別解消法により令和6年4月1日から事業者にも義務づけられた。"@ja .

<https://comcomponent.com/knowledge/jis-x-8341-3/> a skos:Concept ;
    skos:prefLabel "JIS X 8341-3:2016とWCAG"@ja ;
    skos:definition "ISO/IEC 40500:2012の一致規格で、規格本文はWCAG 2.0と同じ内容を持つ日本のアクセシビリティ規格。"@ja ;
    ks:inherits <https://comcomponent.com/knowledge/wcag/> ;
    ks:requires <https://comcomponent.com/knowledge/contrast-ratio/> ;
    ks:requires <https://comcomponent.com/knowledge/color-not-sole-means/> .

<https://comcomponent.com/knowledge/wcag/> a skos:Concept ;
    skos:prefLabel "WCAG(Web Content Accessibility Guidelines)"@ja ;
    skos:definition "W3Cが定めるWebコンテンツのアクセシビリティ達成基準のガイドライン。JIS X 8341-3:2016はWCAG 2.0(ISO/IEC 40500:2012)の一致規格にあたる。"@ja ;
    skos:altLabel "WCAG" .

<https://comcomponent.com/knowledge/wcag2ict/> a skos:Concept ;
    skos:prefLabel "WCAG2ICT"@ja ;
    skos:definition "WCAGの原則・ガイドライン・達成基準を、非Webの文書およびソフトウェアへ適用するためのW3Cのガイダンス。"@ja ;
    ks:inherits <https://comcomponent.com/knowledge/wcag/> .

<https://comcomponent.com/knowledge/screen-reader/> a skos:Concept ;
    skos:prefLabel "スクリーンリーダー"@ja ;
    skos:definition "画面の内容を読み上げ、キーボード操作でUIを扱えるようにする支援技術。ナレーター・NVDA・PC-Talkerなどがある。"@ja ;
    ks:uses <https://comcomponent.com/knowledge/ui-automation/> .

<https://comcomponent.com/knowledge/uia-name-property/> a skos:Concept ;
    skos:prefLabel "UIAのNameプロパティ"@ja ;
    skos:definition "UIAツリー上の各要素が持つ、その要素の目的を表す名前。スクリーンリーダーの読み上げの主要な材料になる。"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/accessibility-insights/> .

<https://comcomponent.com/knowledge/uia-control-pattern/> a skos:Concept ;
    skos:prefLabel "UIAのコントロールパターン"@ja ;
    skos:definition "Invoke・Value・SelectionItem・Toggle・ExpandCollapseなど、種類ごとの「できる操作」を表す語彙。"@ja .

<https://comcomponent.com/knowledge/accessibility-insights/> a skos:Concept ;
    skos:prefLabel "Accessibility Insights for Windows"@ja ;
    skos:definition "要素のUIAプロパティ確認(Live Inspect)やアクセシビリティ自動チェック(FastPass)を備えた、Microsoftの現行推奨インスペクションツール。"@ja ;
    skos:altLabel "Accessibility Insights" .

<https://comcomponent.com/knowledge/winforms-accessible-name/> a skos:Concept ;
    skos:prefLabel "WinFormsのAccessibleName"@ja ;
    skos:definition "TextがUIAのNameにならないコントロールへ名前を与えるプロパティ。AccessibleDescriptionやAccessibleRoleも設定できる。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/uia-name-property/> .

<https://comcomponent.com/knowledge/label-tab-order-association/> a skos:Concept ;
    skos:prefLabel "ラベルとタブオーダーの関連付け"@ja ;
    skos:definition "説明用のLabelを対象コントロールの直前のタブオーダーに置くことで、そのテキストをUIAのNameとして使わせる手法。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/uia-name-property/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/keyboard-operability/> .

<https://comcomponent.com/knowledge/wpf-automation-properties/> a skos:Concept ;
    skos:prefLabel "WPFのAutomationProperties"@ja ;
    skos:definition "AutomationProperties.Name / LabeledBy / HelpTextで、UIAへ公開する名前や説明を指定する添付プロパティ。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/uia-name-property/> .

<https://comcomponent.com/knowledge/wpf-automation-peer/> a skos:Concept ;
    skos:prefLabel "AutomationPeer"@ja ;
    skos:definition "カスタムコントロールがOnCreateAutomationPeerをオーバーライドして提供する、UIAへの情報公開の実装。"@ja ;
    ks:implements <https://comcomponent.com/knowledge/ui-automation/> .

<https://comcomponent.com/knowledge/ui-thread-context/> a skos:Concept ;
    skos:prefLabel "UIスレッドのコンテキスト"@ja ;
    skos:definition "WinForms/WPFなどデスクトップアプリで、UIの応答性を保つために画面更新や重い処理の実行場所として意識されるコンテキスト。"@ja ;
    skos:altLabel "UIイベントハンドラ"@ja .

<https://comcomponent.com/knowledge/keyboard-operability/> a skos:Concept ;
    skos:prefLabel "キーボード操作可能性(達成基準2.1.1)"@ja ;
    skos:definition "コンテンツのすべての機能がキーボードインターフェイスから操作可能であることを求めるWCAGの達成基準。"@ja ;
    ks:recommendedFor <https://comcomponent.com/knowledge/screen-reader/> .

<https://comcomponent.com/knowledge/contrast-ratio/> a skos:Concept ;
    skos:prefLabel "コントラスト比(達成基準1.4.3)"@ja ;
    skos:definition "テキストと文字画像に少なくとも4.5:1、大きな文字には少なくとも3:1のコントラスト比を求めるWCAGの達成基準。"@ja .

<https://comcomponent.com/knowledge/color-not-sole-means/> a skos:Concept ;
    skos:prefLabel "色だけに頼らない(達成基準1.4.1)"@ja ;
    skos:definition "色が情報を伝える唯一の視覚的手段になってはならないというWCAGの達成基準。"@ja .

<https://comcomponent.com/knowledge/contrast-theme/> a skos:Concept ;
    skos:prefLabel "コントラストテーマ(ハイコントラスト)"@ja ;
    skos:definition "おおむね7:1以上のコントラスト比の制約されたパレットを使うWindowsのテーマ。"@ja ;
    ks:requires <https://comcomponent.com/knowledge/contrast-ratio/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/jis-x-8341-3/> ;
    rdf:predicate ks:inherits ;
    rdf:object <https://comcomponent.com/knowledge/wcag/> ;
    schema:description "JIS X 8341-3:2016はISO/IEC 40500:2012の一致規格で、規格本文はWCAG 2.0と同じ内容。"@ja ;
    ks:evidence <https://waic.jp/docs/jis2016/understanding/201604/> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wcag2ict/> ;
    rdf:predicate ks:inherits ;
    rdf:object <https://comcomponent.com/knowledge/wcag/> ;
    schema:description "WCAG2ICTはWCAGの達成基準を非Webの文書およびソフトウェアへ適用するガイダンスで、デスクトップアプリも同じ考え方で点検できる。"@ja ;
    ks:evidence <https://www.w3.org/TR/wcag2ict-22/> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/screen-reader/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/ui-automation/> ;
    schema:description "UI Automationは支援技術にUIの情報を提供し、標準入力以外の手段でUIを操作できるようにする。ナレーター・NVDA・PC-Talkerと流儀は異なっても、デスクトップアプリのUIを読む主要な経路はいずれもUIAである。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winauto/ui-automation-specification>, <https://www.nvda.jp/> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ui-automation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/uia-name-property/> ;
    schema:description "UIAツリー上の各要素はName(目的)・ControlType(種類)・AutomationId・IsEnabled・IsKeyboardFocusableなどのプロパティを持ち、読み上げはおおむねNameとコントロール種別の組み合わせになる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winauto/ui-automation-specification> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ui-automation/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/uia-control-pattern/> ;
    schema:description "Invoke(押す)・Value(値の読み書き)・SelectionItem(選択)・Toggle・ExpandCollapseといったパターンが、支援技術からの操作の語彙になる。Nameとパターンが公開されていなければ、画面に見えていても存在しないのと同じである。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winauto/ui-automation-specification> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/uia-name-property/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/accessibility-insights/> ;
    schema:description "Accessibility Insights for WindowsのLive Inspectで、ホバーやフォーカスによりUIAプロパティを確認できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/design/accessibility/accessibility-testing> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/winforms-accessible-name/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/uia-name-property/> ;
    schema:description "ComboBox・ListBox・ListView・PictureBox・ProgressBar・TabControl・TextBox・TreeViewなどはTextがNameにならないため、AccessibleNameで明示的に名前を与える。補足説明はAccessibleDescription、役割が見た目と異なる場合はAccessibleRoleを使う。"@ja ;
    ks:evidence <https://learn.microsoft.com/accessibility-tools-docs/items/winforms/control_name>, <https://learn.microsoft.com/dotnet/desktop/winforms/controls/provide-accessibility-information> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/label-tab-order-association/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/uia-name-property/> ;
    schema:description "説明用のLabelを対象コントロールの直前のタブオーダーに置くと、そのLabelのテキストがUIAのNameとして自動的に使われる。画面に見えているラベルと読み上げが一致し、文言を二重管理せずに済む。"@ja ;
    ks:evidence <https://learn.microsoft.com/accessibility-tools-docs/items/winforms/control_name>, <https://learn.microsoft.com/dotnet/desktop/winforms/advanced/walkthrough-creating-an-accessible-windows-based-application> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf-automation-properties/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/uia-name-property/> ;
    schema:description "WPFではButtonのContentが既定でUIA Nameに転用される一方、TextBoxのTextはUIA Valueとして公開されるため、AutomationProperties.NameやLabeledByで名前を与える。"@ja ;
    ks:evidence <https://learn.microsoft.com/accessibility-tools-docs/items/wpf/button_name>, <https://learn.microsoft.com/accessibility-tools-docs/items/wpf/edit_name> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf-automation-peer/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/ui-automation/> ;
    schema:description "独自描画のカスタムコントロールはOnCreateAutomationPeerをオーバーライドして、UIAツリーへ情報を公開する。"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/controls/ui-automation-of-a-wpf-custom-control> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wpf-automation-peer/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/ui-thread-context/> ;
    schema:description "UIAへ公開する情報はUI要素そのものから作られるため、実装はUIを持つスレッドの文脈で動く。"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/desktop/wpf/controls/ui-automation-of-a-wpf-custom-control> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/label-tab-order-association/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/keyboard-operability/> ;
    schema:description "達成基準2.1.1はすべての機能がキーボードインターフェイスから操作可能であることを求める。入力欄の直前のタブオーダーにラベルを置くことと、移動したいコントロールとメニューにアクセスキーを付けることが基本として挙げられている。"@ja ;
    ks:evidence <https://waic.jp/translations/WCAG21/>, <https://learn.microsoft.com/dotnet/desktop/winforms/advanced/walkthrough-creating-an-accessible-windows-based-application> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/keyboard-operability/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/screen-reader/> ;
    schema:description "スクリーンリーダーの利用者は原則マウスを使わないため、キーボードで到達できない機能は存在しない機能と同じになる。"@ja ;
    ks:evidence <https://waic.jp/translations/WCAG21/> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/jis-x-8341-3/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/contrast-ratio/> ;
    schema:description "達成基準1.4.3はテキストと文字画像に少なくとも4.5:1、大きな文字には少なくとも3:1のコントラスト比を求める。"@ja ;
    ks:evidence <https://waic.jp/translations/WCAG21/> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/jis-x-8341-3/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/color-not-sole-means/> ;
    schema:description "達成基準1.4.1は、色が情報を伝える唯一の視覚的手段になってはならないとする。エラー行を赤い文字だけで示す、必須項目をラベルの色だけで示す、といった表示は基準を満たさない。"@ja ;
    ks:evidence <https://waic.jp/translations/WCAG21/> ;
    ks:verifiedAt "2026-08-22" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/contrast-theme/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/contrast-ratio/> ;
    schema:description "コントラストテーマはおおむね7:1以上のコントラスト比の制約されたパレットを使うため、アプリはハードコードした色ではなくシステムカラーを尊重する必要がある。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/apps/design/accessibility/high-contrast-themes> ;
    ks:verifiedAt "2026-08-20" ;
    ks:certainty "established" .
