diff --git a/app.js b/app.js index a04aae71..f0e6b7c2 100644 --- a/app.js +++ b/app.js @@ -429,6 +429,13 @@ function bindTableEvents(renderDraftValidation, updateEditorDraftFromEvent) { return; } event.preventDefault(); + + const submitBtn = form.querySelector('button[type="submit"]'); + if (submitBtn && submitBtn.getAttribute('aria-disabled') === 'true') { + showToast(submitBtn.title || '현재 사용할 수 없는 작업입니다.'); + return; + } + renderDraftValidation.flush(); saveEditor(); }); @@ -1068,7 +1075,11 @@ function renderEditorValidation() { const saveButton = form.querySelector('button[type="submit"]'); if (saveButton) { - saveButton.disabled = errors.length > 0; + if (errors.length > 0) { + saveButton.setAttribute('aria-disabled', 'true'); + } else { + saveButton.removeAttribute('aria-disabled'); + } saveButton.title = errors.length > 0 ? '입력값을 올바르게 수정해야 저장할 수 있습니다.' : '저장 (Enter)'; }