류윤주 류윤주 07-23
240723 류윤주 키보드 접근성 수정
@6f6d6d0307e9920b2322b8b348f6a9fee225d5a9
client/resources/css/style.css
--- client/resources/css/style.css
+++ client/resources/css/style.css
@@ -303,6 +303,9 @@
     border: 1px solid var(--gray);
     color: var(--gray-dark);
     min-height: 267px;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
 }
 
 .user-item img {
client/views/pages/App.vue
--- client/views/pages/App.vue
+++ client/views/pages/App.vue
@@ -127,11 +127,11 @@
   mounted() {
     window.addEventListener('scroll', this.handleScroll);
     addLicense("AM5C11202011971121");
-    // document.addEventListener('keydown', this.handleKeydown);
+    document.addEventListener('keydown', this.handleKeydown);
   },
   beforeDestroy() {
     window.removeEventListener('scroll', this.handleScroll);
-    // document.removeEventListener('keydown', this.handleKeydown);
+    document.removeEventListener('keydown', this.handleKeydown);
   },
 };
 
client/views/pages/user/join/Join.vue
--- client/views/pages/user/join/Join.vue
+++ client/views/pages/user/join/Join.vue
@@ -15,15 +15,19 @@
                             <div class="step-zone">
                                 <p><span>{{ PageNumber }}단계 </span>/ 4단계</p>
                             </div>
-                            <button class="small-btn darkg-border-btn"  title="회원가입 매뉴얼 다운로드" style="border-radius: 3rem;"
+                            <button class="small-btn darkg-border-btn" title="회원가입 매뉴얼 다운로드"
+                                style="border-radius: 3rem;"
                                 @click="$downloadFileByIdNoAuthCheck('FILE_0000000001', 'CMMN_FILE_0000000001', 'AI 디지털교과서 통합지원센터 회원가입 사용자매뉴얼.pdf', 'BBS_0000000032')">회원가입
                                 매뉴얼</button>
                         </div>
                     </div>
                 </div>
                 <Terms @TermsSuccess="pageStatusWithAgree" v-show="PageNumber === 1" />
-                <div class="border pd60" v-show="PageNumber === 2">
-                    <div class="authentication">
+                <div v-show="PageNumber === 2">
+                    <div class="page-title mb40">
+                        <h2 class="page-sub-title" aria-live="polite">본인인증</h2>
+                    </div>
+                    <div class="authentication border pd60">
                         <div class="authentication-info mb30 text-ct">
                             <p class="detail-bold mb5">본인인증 안내</p>
                             <p class="detail-text">본인명의로 등록된 휴대폰번호만 인증이 가능합니다.<br />
@@ -31,7 +35,7 @@
                         </div>
 
                         <div class="flex justify-center">
-                            <NiceM :service="'devs'" @revData="requestEvent" />
+                            <NiceM :service="'prov'" @revData="requestEvent" />
                             <!--  prov = 실제 호출  devf = 실패시 테스트, devs = 성공테스트 -->
                         </div>
                     </div>
@@ -39,7 +43,7 @@
 
                 <div class="join-zone" v-show="PageNumber === 3">
                     <div class="page-title mb40">
-                        <h2 class="page-sub-title">회원정보 입력</h2>
+                        <h2 class="page-sub-title" aria-live="polite">회원정보 입력</h2>
                     </div>
                     <div class="user-type mb60">
                         <p class="type-content text-ct mb24"><strong class="middle-title">AI 디지털교과서
@@ -49,7 +53,7 @@
                         <ul class="user-tab flex justify-center" role="tablist" aria-label="user type tabs">
                             <div v-for="(user, idx) in userType" :key="idx"
                                 :class="['gd-6', idx === 0 ? 'pl0' : 'pr0', userTypedisable && userActive !== idx ? 'user-disabled' : '']">
-                                <li role="tab"  :aria-selected="userActive === idx" :aria-controls="user.panel"
+                                <li role="tab" :aria-selected="userActive === idx" :aria-controls="user.panel"
                                     :id="user.id"
                                     :class="{ 'user-item pd30 cursor': true, 'user-selected': userActive === idx }">
                                     <router-link to="#"
@@ -60,12 +64,13 @@
                                         <img v-else-if="userActive === idx && user.label === '기업회원'"
                                             src="../../../../resources/img/company_a.png" alt="기업회원 활성화 아이콘 "
                                             class="mb12">
-                                        <img v-else-if="user.label === '일반회원'" src="../../../../resources/img/user_b.png"
-                                            alt="일반회원 비활성화 아이콘" class="mb12">
+                                        <img v-else-if="user.label === '일반회원'"
+                                            src="../../../../resources/img/user_b.png" alt="일반회원 비활성화 아이콘" class="mb12">
                                         <img v-else src="../../../../resources/img/company_b.png" alt="기업회원 비활성화 아이콘"
                                             class="mb12">
                                         <h3 class="text-ct mb15">{{ user.label }}</h3>
-                                        <p v-show="user.label === '기업회원'" class="small-text text-ct">가입하고자 하는 기업의 등록 여부를 확인 후
+                                        <p v-show="user.label === '기업회원'" class="small-text text-ct">가입하고자 하는 기업의 등록 여부를
+                                            확인 후
                                             다음 단계를
                                             진행합니다.<br />
                                             기업이 조회되지 않는 경우 기업의 최초 등록이 필요합니다.<br />
@@ -81,7 +86,7 @@
                     </div>
                     <div class="user-content">
                         <!-- 기업회원 -->
-                        <div class="border pd60" role="tabpanel" 
+                        <div class="border pd60" role="tabpanel"
                             v-show="(userActive === 0 && innerStep < 1 && userTypedisable) || (userActive === 1 && innerStep < 0)">
                             <div class="compnay-search" v-show="userActive === 0 && innerStep === 0">
                                 <div class="middle-title mb16">
@@ -104,7 +109,7 @@
                                             v-else autocomplete='off'>
                                     </div>
                                     <div class="gd-2 pl0 pr0">
-                                        <button class="large-btn blue-border-btn ml0"  title="검색"
+                                        <button class="large-btn blue-border-btn ml0" title="검색"
                                             @click="companySelectListSearch()">검색</button>
                                     </div>
                                 </div>
@@ -139,13 +144,13 @@
                                                 <td>
                                                     <div class="btn-zone flex align-center justify-center">
                                                         <div class="gd-6 pl0">
-                                                            <button  title="기업회원신청"
+                                                            <button title="기업회원신청"
                                                                 :class="[companyOne.aprvDt === null || companyOne.hasRprsYn === 'N' ? 'gray-btn' : 'blue-border-btn', 'large-btn ml0']"
                                                                 @click="innerStepGo(companyOne, 'ROLE_CO_USER', 1)"
                                                                 :disabled="companyOne.aprvDt === null || companyOne.hasRprsYn === 'N'">기업회원신청</button>
                                                         </div>
                                                         <div class="gd-6 pl0 pr0">
-                                                            <button  title="기업관리자신청"
+                                                            <button title="기업관리자신청"
                                                                 :class="[companyOne.hasRprsYn === 'Y' ? 'gray-btn' : 'green-border-btn', 'large-btn ml0']"
                                                                 :disabled="companyOne.hasRprsYn === 'Y'"
                                                                 @click="innerStepForManager(companyOne, 'ROLE_CO_MANAGER', 1, false)">기업관리자신청</button>
@@ -163,7 +168,8 @@
                                         :click="companySelectList" />
                                     <div class="btn-zone flex justify-end">
                                         <div class="gd-2 pl0 pr0">
-                                            <button class="large-btn blue-btn ml0"  title="기업 신규 신청" @click="alertModalOpen">기업 신규
+                                            <button class="large-btn blue-btn ml0" title="기업 신규 신청"
+                                                @click="alertModalOpen">기업 신규
                                                 신청</button>
                                         </div>
                                     </div>
@@ -171,7 +177,7 @@
                             </div>
                         </div>
                         <!-- 일반회원 두루두루 사용 -->
-                        <div class="border pd30 "  role="tabpanel" 
+                        <div class="border pd30 " role="tabpanel"
                             v-show="(userActive === 0 && innerStep === 1) || (userActive === 1 && innerStep === 0 && userTypedisable)"
                             ref="form">
                             <div class="flex justify-between align-center border-b mb30">
@@ -192,10 +198,11 @@
                                                 <div class="flex justify-start align-center">
                                                     <div class="gd-6 pl0">
                                                         <input type="text" class="full-input" placeholder="아이디를 입력하세요."
-                                                            v-model="user_info.lgnId" id="panel2" autocomplete='off' aria-required="true" />
+                                                            v-model="user_info.lgnId" id="panel2" autocomplete='off'
+                                                            aria-required="true" />
                                                     </div>
                                                     <div class="gd-2 pl0 pr0">
-                                                        <button class="large-btn blue-border-btn"  title="중복확인"
+                                                        <button class="large-btn blue-border-btn" title="중복확인"
                                                             @click="userIdDuplicationCheck()">중복확인</button>
                                                     </div>
                                                 </div>
@@ -210,7 +217,8 @@
                                                     <p class="small-text">영문, 숫자, 특수문자 조합된 6~20자리</p>
                                                 </div>
                                                 <input type="password" class="full-input" placeholder="비밀번호를 입력하세요."
-                                                    v-model="user_info.mbrEncptPswd" id="user_pw" autocomplete='off' aria-required="true" />
+                                                    v-model="user_info.mbrEncptPswd" id="user_pw" autocomplete='off'
+                                                    aria-required="true" />
                                             </div>
                                         </td>
                                     </tr>
@@ -241,7 +249,8 @@
                                                 <div class="gd-5 pl0 pt10 pb10">
                                                     <label for="user_nm" class="form-title mb16">이름</label>
                                                     <input type="text" class="full-input" placeholder="이름을 입력하세요."
-                                                        v-model="user_info.mbrEncptFlnm" id="user_nm" readonly disabled />
+                                                        v-model="user_info.mbrEncptFlnm" id="user_nm" readonly
+                                                        disabled />
                                                 </div>
                                                 <div class="gd-5 pl0 pr0 pt10 pb10" v-show="userActive !== 1">
                                                     <label for="mbr_jbgd" class="fw-bold mb16">직위(직급)</label>
@@ -257,20 +266,22 @@
                                                 <label for="user_tel1" class="form-title mb16">전화번호</label>
                                                 <div class="flex justify-start no-gutters">
                                                     <div class="gd-2 pl0 pr0">
-                                                        <input type="text" v-model="user_tel1" id="user_tel1" readonly disabled
-                                                            autocomplete='off' class="full-input" />
+                                                        <input type="text" v-model="user_tel1" id="user_tel1" readonly
+                                                            disabled autocomplete='off' class="full-input" />
                                                     </div>
                                                     <div class="pd10">-</div>
                                                     <div class="gd-2 pl0 pr0">
-                                                        <label for="user_tel2" class="visually-hidden">전화번호 두번째자리</label>
-                                                        <input type="text" v-model="user_tel2" id="user_tel2" readonly disabled
-                                                            autocomplete='off' class="full-input" />
+                                                        <label for="user_tel2" class="visually-hidden">전화번호
+                                                            두번째자리</label>
+                                                        <input type="text" v-model="user_tel2" id="user_tel2" readonly
+                                                            disabled autocomplete='off' class="full-input" />
                                                     </div>
                                                     <div class="pd10">-</div>
                                                     <div class="gd-2 pl0 pr0">
-                                                        <label for="user_tel3" class="visually-hidden">전화번호 세번째자리</label>
-                                                        <input type="text" v-model="user_tel3" id="user_tel3" readonly disabled
-                                                            autocomplete='off' class="full-input" />
+                                                        <label for="user_tel3" class="visually-hidden">전화번호
+                                                            세번째자리</label>
+                                                        <input type="text" v-model="user_tel3" id="user_tel3" readonly
+                                                            disabled autocomplete='off' class="full-input" />
                                                     </div>
                                                 </div>
                                             </div>
@@ -282,14 +293,15 @@
                                                 <label for="email_id" class="form-title mb16">이메일</label>
                                                 <div class="flex justify-start">
                                                     <div class="gd-2 pl0 pr0">
-                                                        <input type="text" class="full-input" id="email_id" v-model="email_id"
-                                                            autocomplete='off' aria-required="true" />
+                                                        <input type="text" class="full-input" id="email_id"
+                                                            v-model="email_id" autocomplete='off'
+                                                            aria-required="true" />
                                                     </div>
                                                     <div class="pd10">@</div>
                                                     <div class="gd-2 pl0 pr0">
                                                         <label for="email_dns" class="visually-hidden">이메일 도메인자리</label>
-                                                        <input type="text" class="full-input" v-model="email_dns" id="email_dns"
-                                                            autocomplete='off' aria-required="true"  />
+                                                        <input type="text" class="full-input" v-model="email_dns"
+                                                            id="email_dns" autocomplete='off' aria-required="true" />
                                                     </div>
                                                     <div class="gd-2">
                                                         <label for="email" class="visually-hidden">이메일 주소</label>
@@ -303,7 +315,7 @@
                                                         </select>
                                                     </div>
                                                     <div class="gd-2 pl0 pr0">
-                                                        <button class="large-btn blue-border-btn"  title="중복확인"
+                                                        <button class="large-btn blue-border-btn" title="중복확인"
                                                             @click="emailDuplicateCheck()">중복확인</button>
                                                     </div>
                                                 </div>
@@ -379,7 +391,8 @@
                                                 </div>
                                                 <div class="gd-6 pl0">
                                                     <input type="text" class="full-input" placeholder="기업명을 입력하세요."
-                                                        v-model="ent_info.entNm" id="ent_nm" autocomplete='off' aria-required="true" />
+                                                        v-model="ent_info.entNm" id="ent_nm" autocomplete='off'
+                                                        aria-required="true" />
                                                 </div>
                                             </div>
                                         </td>
@@ -397,7 +410,7 @@
                                                             id="brno" autocomplete='off' aria-required="true" />
                                                     </div>
                                                     <div class="gd-2 pl0 pr0">
-                                                        <button class="large-btn blue-border-btn"  title="사업자등록번호 확인"
+                                                        <button class="large-btn blue-border-btn" title="사업자등록번호 확인"
                                                             @click="checkBusinessId()">사업자등록번호 확인</button>
                                                     </div>
                                                 </div>
@@ -427,22 +440,24 @@
                                                 <div class="flex justify-start align-center mb5">
                                                     <div class="gd-2 pl0">
                                                         <input type="text" class="full-input" placeholder="우편번호"
-                                                        readonly disabled v-model="ent_info.zip" autocomplete='off' />
+                                                            readonly disabled v-model="ent_info.zip"
+                                                            autocomplete='off' />
                                                     </div>
                                                     <div class="gd-2 pl0 pr0">
-                                                        <button class="large-btn blue-border-btn"  title="주소 찾기"
+                                                        <button class="large-btn blue-border-btn" title="주소 찾기"
                                                             @click="openPostcode()">
                                                             찾기</button>
                                                     </div>
                                                 </div>
                                                 <div class="gd-4 mb5 pl0 pr0">
-                                                    <input type="text" class="full-input" placeholder="주소" readonly disabled
-                                                        v-model="ent_info.entAddr" id="ent_addr" />
+                                                    <input type="text" class="full-input" placeholder="주소" readonly
+                                                        disabled v-model="ent_info.entAddr" id="ent_addr" />
                                                 </div>
                                                 <div class="gd-4 pl0 pr0">
                                                     <label for="ent_daddr" class="visually-hidden">상세주소</label>
                                                     <input type="text" class="full-input" placeholder="상세주소"
-                                                        v-model="ent_info.entDaddr" id="ent_daddr" autocomplete='off' aria-required="true" />
+                                                        v-model="ent_info.entDaddr" id="ent_daddr" autocomplete='off'
+                                                        aria-required="true" />
                                                 </div>
                                             </div>
                                         </td>
@@ -454,7 +469,8 @@
                                                     <label for="hmpg_url" class="form-title ">홈페이지</label>
                                                 </div>
                                                 <input type="text" class="full-input" placeholder="홈페이지를 입력해주세요."
-                                                    v-model="ent_info.hmpUrl" id="hmpg_url" autocomplete='off' aria-required="true" />
+                                                    v-model="ent_info.hmpUrl" id="hmpg_url" autocomplete='off'
+                                                    aria-required="true" />
                                             </div>
                                         </td>
                                     </tr>
@@ -465,7 +481,7 @@
                                                 <div class="flex justify-start no-gutters">
                                                     <div class="gd-2 pl0 pr0">
                                                         <select name="" id="ent_tel1" v-model="ent_tel1"
-                                                            class="full-select ml0" >
+                                                            class="full-select ml0">
                                                             <option value="null">선택하세요.</option>
                                                             <option value="02">02</option>
                                                             <option value="031">031</option>
@@ -528,14 +544,15 @@
                                                         class="gd-2 pl0" role="group">
                                                         <input type="radio" :name="`first_info_${index}`"
                                                             :id="item.cdId" :value="item.cdId"
-                                                            v-model="ent_info.entSeNm"  />
+                                                            v-model="ent_info.entSeNm" />
                                                         <label :for="item.cdId" class="ml10">{{ item.cdNm }}</label>
                                                     </div>
                                                 </div>
                                                 <div class="flex align-center mb15">
                                                     <label for="com_info" class="visually-hidden">기업출원추가정보</label>
-                                                    <select name="" id="com_info" :disabled="ent_info.entSeNm !== 'applPrnmnt'"
-                                                        class="gd-2" v-model="ent_info.mainApplEntYn">
+                                                    <select name="" id="com_info"
+                                                        :disabled="ent_info.entSeNm !== 'applPrnmnt'" class="gd-2"
+                                                        v-model="ent_info.mainApplEntYn">
                                                         <option value="">선택</option>
                                                         <option value="Y">주 출원사</option>
                                                         <option value="N">보조 출원사</option>
@@ -584,7 +601,8 @@
                                                     <div class=" mb16">
                                                         <span class="form-title mb10">기업등록신청서</span>
                                                         <div class="gd-2 pl0 pr0">
-                                                            <button class="large-btn blue-border-btn"  title="기업등록신청서 다운로드"
+                                                            <button class="large-btn blue-border-btn"
+                                                                title="기업등록신청서 다운로드"
                                                                 @click="$downloadFileByIdNoAuthCheck('FILE_0000000002', 'CMMN_FILE_0000000002', 'AI 디지털교과서 통합지원센터 신규 기업등록신청서(양식).hwp', 'BBS_0000000032')">
                                                                 기업등록신청서</button>
                                                         </div>
@@ -610,7 +628,8 @@
                                     <!-- <button class="large-btn darkg-border-btn">이전</button> -->
                                 </div>
                                 <div class="gd-1 pl0 pr0">
-                                    <button class="large-btn blue-btn ml0" title="회원가입" @click="joinRequest()">회원가입</button>
+                                    <button class="large-btn blue-btn ml0" title="회원가입"
+                                        @click="joinRequest()">회원가입</button>
                                 </div>
                             </div>
                         </div>
@@ -621,14 +640,14 @@
         </div>
     </div>
     <!-- 관리자로 회원가입이 된다는 팝업문구 -->
-    <div v-show="alert" class="modal-wrapper" role="dialog" 
-    aria-modal="true">
+    <div v-if="alert" class="modal-wrapper" role="dialog" aria-modal="true">
         <div :class="{ 'modal-container ': true, 'small-modal': userTypeCheckAlert !== null }">
             <div class="modal-title border-none">
                 <div class="flex justify-between align-center">
                     <h2 v-if="userTypeCheckAlert !== null"></h2>
                     <h2 class="page-sub-title" v-else>신규 기업 등록 시 유의 사항</h2>
-                    <button class="icon-btn black" @click="modalClose" aria-label="closeButton" id="closeButton"  title="닫기">
+                    <button class="icon-btn black" @click="modalClose" aria-label="closeButton" id="closeButton"
+                        ref="firstFocusableElement" title="닫기">
                         <svg-icon type="mdi" :path="closePath" aria-labelledby="closeButton"></svg-icon>
                     </button>
                 </div>
@@ -686,20 +705,21 @@
                         <p class="mr30" style="font-weight: 700;">신규 기업 등록 시 유의 사항 문구를 확인했습니까?</p>
                         <div class="flex justify-start align-center">
                             <label for="noticeCheck" class="block mr5">예</label>
-                            <input type="checkbox" name="noticeCheck" id="noticeCheck" v-model="noticeCheck" aria-required="true" />
+                            <input type="checkbox" name="noticeCheck" id="noticeCheck" v-model="noticeCheck"
+                                aria-required="true" />
                         </div>
                     </div>
                 </div>
             </div>
             <div class="modal-end flex justify-between align-center pd0">
                 <div class="gd-6 pl0">
-                    <button @click="modalClose" class="large-btn gray-btn ml0"  title="취소">취소</button>
+                    <button @click="modalClose" class="large-btn gray-btn ml0" title="취소">취소</button>
                 </div>
                 <div class="gd-6 pl0 pr0" v-if="userTypeCheckAlert === '일반회원' || userTypeCheckAlert === '기업회원'">
-                    <button class="large-btn blue-btn ml0"  title="확인" @click="typedisable">확인</button>
+                    <button class="large-btn blue-btn ml0" title="확인" @click="typedisable">확인</button>
                 </div>
                 <div class="gd-6 pl0 pr0" v-else>
-                    <button class="large-btn blue-btn ml0"  title="확인"
+                    <button class="large-btn blue-btn ml0" title="확인"
                         @click="innerStepForManager(null, 'ROLE_CO_MANAGER', 1, true)">확인</button>
                 </div>
             </div>
@@ -731,7 +751,7 @@
         return {
             closePath: mdiWindowClose,
             step: ["이용약관 동의", "본인인증", "회원정보 입력", "가입완료 및 승인대기"],
-            userType: [{tabId:'usertype1', panel:'panel1',label:"기업회원"}, {tabId:'usertype2', panel:'panel2',label:"일반회원"}],
+            userType: [{ tabId: 'usertype1', panel: 'panel1', label: "기업회원" }, { tabId: 'usertype2', panel: 'panel2', label: "일반회원" }],
             userActive: null,
             businessNumberCheckResult: false,
             businessNumber: null,
@@ -745,7 +765,7 @@
             userTypeCheckAlert: null,
             userTypedisable: false,
             noticeCheck: false,
-
+            lastFocusedElement: null,// 이전 포커스 요소 저장
             /**
              * 페이지네이션 변경 
              * 
@@ -914,12 +934,19 @@
         },
 
         userTypeActive: function (index, uerType) {
+            this.lastFocusedElement = document.activeElement; // 이전 포커스 요소 저장
             this.userTypeCheckAlert = uerType;
             this.alert = true;
             this.userActive = index
             if (index === 1) {
                 this.user_info.authrtId = 'ROLE_USER'
             }
+            this.$nextTick(() => {
+                // 모달이 열린 후 첫 번째 포커스 가능한 요소로 이동
+                if (this.$refs.firstFocusableElement) {
+                    this.$refs.firstFocusableElement.focus();
+                }
+            });
         },
         typedisable: function () {
             this.userTypedisable = true;
@@ -971,18 +998,18 @@
                 // niceObj.sDupInfo     중복확인값(개인 고유 번호64Byte)             
 
                 // 반환값이 있는 경우 만 14세 검사
-                // if (!vm.checkAgeUnderFourteen(niceObj.sBirthDate)) {
-                //     alert("만 14세 이하는 가입할 수 없습니다. 메인페이지로 이동합니다.");
-                //     vm.$router.push({ path: '/' });
-                //     return;
-                // }
+                if (!vm.checkAgeUnderFourteen(niceObj.sBirthDate)) {
+                    alert("만 14세 이하는 가입할 수 없습니다. 메인페이지로 이동합니다.");
+                    vm.$router.push({ path: '/' });
+                    return;
+                }
 
-                // const res = await vm.isNiceDuplicated(niceObj.sDupInfo)
-                // if (!res.data.success) {
-                //     alert("이미 가입이 완료된 회원입니다. 로그인 페이지로 이동합니다")
-                //     vm.$router.push({ path: '/login.page' })
-                //     return
-                // }
+                const res = await vm.isNiceDuplicated(niceObj.sDupInfo)
+                if (!res.data.success) {
+                    alert("이미 가입이 완료된 회원입니다. 로그인 페이지로 이동합니다")
+                    vm.$router.push({ path: '/login.page' })
+                    return
+                }
 
                 vm.user_info.mbrEncptFlnm = niceObj.sName;
                 if (niceObj.sMobileNo && niceObj.sMobileNo.length === 11) {
client/views/pages/user/join/Terms.vue
--- client/views/pages/user/join/Terms.vue
+++ client/views/pages/user/join/Terms.vue
@@ -1,15 +1,15 @@
 <template>
     <div class="terms-wrap">
         <div class="page-title mb40">
-            <h2 class="page-sub-title">약관동의</h2>
+            <h2 class="page-sub-title"  aria-live="polite">약관동의</h2>
         </div>
         <div class="terms-use mb40">
             <div class="flex justify-between align-center">
                 <h3 class="content-title2 mb20">이용약관 안내</h3>
-                <router-link :to="{path:'/aidt/terms/view.page', query: { type: 'use' }}" target="_blank" class="link-text">이용약관
+                <router-link :to="{path:'/aidt/terms/view.page', query: { type: 'use' }}" target="_blank" class="link-text" >이용약관
                     전문보기</router-link>
             </div>
-            <div class="terms-content overflow-y mb24 radius">
+            <div class="terms-content overflow-y mb24 radius" tabindex="0">
                 <Terms1 />
             </div>
             <div>
@@ -33,7 +33,7 @@
                     처리방침 전문보기</router-link>
             </div>
 
-            <div class="terms-content overflow-y mb24 radius">
+            <div class="terms-content overflow-y mb24 radius"  tabindex="0">
                 <ul>
                     <li class=" mb10">
                         <p class="detail-text">1. 개인정보의 수집·이용 목적 : AI 디지털교과서 통합지원센터 홈페이지 서비스 제공(회원 관리, 민원 처리, 서비스 개선)
@@ -125,7 +125,7 @@
                     class="link-text">개인정보
                     처리방침 전문보기</router-link> -->
             </div>
-            <div class="terms-content overflow-y mb24 radius">
+            <div class="terms-content overflow-y mb24 radius"  tabindex="0">
                 <ul>
                     <li class=" mb10">
                         <p class="detail-text">1. 개인정보의 수집·이용 목적 : AI 디지털교과서 통합지원센터 추후 <span class="border-b">기술지원 신청 및
Add a comment
List