📚 제4장: Phase 1 - 데이터 형식 표준

이 장에서는 WIA EDU 표준의 기반을 형성하는 JSON 스키마를 정의합니다. 이러한 데이터 형식은 모든 교육 플랫폼에서 상호 운용성을 가능하게 합니다.


4.1 학습자 프로필 스키마

학습자 프로필은 학습자의 모든 접근성 선호도와 요구를 저장합니다.

4.1.1 완전한 학습자 프로필 스키마

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://wiastandards.com/schemas/edu/learner-profile.schema.json",
  "title": "WIA EDU 학습자 프로필",
  "type": "object",
  "required": ["profile_id", "schema_version"],
  "properties": {
    "profile_id": {
      "type": "string",
      "pattern": "^EDU-[0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}$",
      "description": "이 프로필의 고유 식별자"
    },
    "schema_version": {
      "type": "string",
      "const": "1.0.0"
    },
    "learner_info": {
      "type": "object",
      "properties": {
        "name": { "type": "string" },
        "institution_id": { "type": "string" },
        "disclosed": { "type": "boolean", "default": false }
      }
    },
    "display_preferences": {
      "type": "object",
      "properties": {
        "screen_reader": {
          "type": "object",
          "properties": {
            "enabled": { "type": "boolean" },
            "reader": { "enum": ["nvda", "jaws", "voiceover", "talkback"] },
            "rate": { "enum": ["slow", "medium", "fast"] }
          }
        },
        "text_settings": {
          "type": "object",
          "properties": {
            "font_size": { "enum": ["normal", "large", "x-large"] },
            "dyslexia_font": { "type": "boolean" },
            "line_spacing": { "type": "number", "minimum": 1, "maximum": 3 }
          }
        },
        "color_settings": {
          "type": "object",
          "properties": {
            "high_contrast": { "type": "boolean" },
            "colorblind_filter": { "enum": ["none", "deuteranopia", "protanopia"] }
          }
        }
      }
    },
    "control_preferences": {
      "type": "object",
      "properties": {
        "input_method": {
          "enum": ["keyboard", "voice", "eye_gaze", "switch", "bci"]
        },
        "timing": {
          "type": "object",
          "properties": {
            "extended_time_multiplier": { "type": "number", "minimum": 1, "maximum": 5 }
          }
        }
      }
    },
    "content_preferences": {
      "type": "object",
      "properties": {
        "captions": { "type": "boolean" },
        "transcripts": { "type": "boolean" },
        "audio_description": { "type": "boolean" },
        "sign_language": { "enum": ["none", "asl", "ksl", "bsl"] },
        "text_to_speech": { "type": "boolean" }
      }
    },
    "wia_integrations": {
      "type": "object",
      "properties": {
        "aac_profile_id": { "type": "string" },
        "bci_profile_id": { "type": "string" },
        "eye_gaze_profile_id": { "type": "string" },
        "sync_enabled": { "type": "boolean" }
      }
    }
  }
}

4.2 과정 스키마

4.2.1 과정 스키마 주요 요소

{
  "course_id": "COURSE-2025-001",
  "schema_version": "1.0.0",
  "title": "웹 개발 입문",
  "accessibility_statement": {
    "commitment": "모든 학습자를 위한 접근성 보장",
    "wcag_conformance": "AA",
    "conformance_date": "2025-01-01"
  },
  "accommodations_available": {
    "timing": {
      "extended_time": true,
      "flexible_deadlines": true,
      "breaks": true
    },
    "format": {
      "large_print": true,
      "braille": false,
      "audio": true,
      "sign_language": true
    }
  },
  "udl_options": {
    "engagement": {
      "choice_available": true,
      "collaboration_options": ["individual", "pairs", "small_group"]
    },
    "representation": {
      "modalities_available": ["text", "audio", "video", "interactive"]
    },
    "action_expression": {
      "response_formats": ["written", "verbal", "multimedia"]
    }
  }
}

4.3 콘텐츠 스키마

4.3.1 콘텐츠 접근성 메타데이터

{
  "content_id": "CONTENT-001",
  "schema_version": "1.0.0",
  "title": "강의 1: HTML 소개",
  "type": "video",
  "accessibility": {
    "accessibility_features": [
      "captions",
      "transcript",
      "audio_description",
      "alternative_text",
      "structural_navigation"
    ],
    "accessibility_hazards": [
      "no_flashing_hazard",
      "no_motion_simulation_hazard"
    ],
    "access_mode": ["auditory", "visual"],
    "access_mode_sufficient": [
      ["auditory"],
      ["visual", "textual"]
    ],
    "wcag_conformance": {
      "level": "AA",
      "version": "2.1",
      "evaluation_date": "2025-01-15"
    }
  },
  "alternatives": [
    {
      "type": "transcript",
      "language": "ko",
      "location": "https://example.com/transcript-ko.txt",
      "quality_verified": true
    },
    {
      "type": "captions",
      "language": "ko",
      "is_machine_generated": false
    },
    {
      "type": "sign_language",
      "language": "ksl"
    }
  ]
}

4.4 평가 스키마

4.4.1 평가 편의제공

{
  "assessment_id": "ASSESS-001",
  "schema_version": "1.0.0",
  "title": "중간고사",
  "type": "exam",
  "timing": {
    "base_time_minutes": 60,
    "allows_extended_time": true,
    "allows_breaks": true
  },
  "accommodations_available": {
    "timing": {
      "extended_time": true,
      "unlimited_time": false,
      "stop_clock_for_breaks": true,
      "flexible_scheduling": true
    },
    "presentation": {
      "large_print": true,
      "high_contrast": true,
      "screen_reader": true,
      "text_to_speech": true,
      "braille": false,
      "sign_language_video": true
    },
    "response": {
      "keyboard_only": true,
      "speech_to_text": true,
      "scribe": true,
      "spell_check": true
    },
    "setting": {
      "separate_location": true,
      "small_group": true,
      "reduced_distractions": true
    }
  },
  "questions": [
    {
      "question_id": "Q001",
      "type": "multiple_choice",
      "accessibility": {
        "screen_reader_hint": "4개의 선택지가 있습니다",
        "cognitive_load": "low",
        "requires_vision": false,
        "alternative_available": true
      }
    }
  ]
}

4.5 장 요약

핵심 내용:

  1. 학습자 프로필: 화면, 제어, 콘텐츠 및 AT를 위한 포괄적 선호도
  2. 과정 스키마: 접근성 선언문, 편의제공 및 UDL 옵션
  3. 콘텐츠 스키마: 기능, 위험 요소 및 대안을 갖춘 AccessForAll DRD
  4. 평가 스키마: 시간, 제시, 응답 및 설정 편의제공
  5. 모든 스키마는 검증을 위해 JSON Schema draft 2020-12를 따름