NDC

National Deaf Center
on Postsecondary Outcomes

Topics

- Select topic(s) -
Topics

Useful for

- Select who you are -
Useful For

Type

- Select type -
Types
NDC’s updated Data Dashboard reveals record deaf employment gains alongside persistent workforce gaps, guiding transition supports that expand access to meaningful careers….
Save This
Please login to bookmark Close
Useful For: Advocates
Categories Research and Publications, Current Trends
Strong transition planning connects students, families, schools, and community partners to build access, expectations, and real-world readiness for deaf youth….
Save This
Please login to bookmark Close
Type: Resources
Resource Type: Practices
Useful For: Students
Topics: Transition
National Deaf Center
' ); idoc.close(); var triggered = false; function doPrint() { if (triggered) return; triggered = true; try { iframe.contentWindow.focus(); iframe.contentWindow.print(); } catch (e) { window.print(); } setTimeout(function () { if (iframe.parentNode) iframe.parentNode.removeChild(iframe); }, 1500); } iframe.onload = function () { setTimeout(doPrint, 350); }; setTimeout(doPrint, 1200); } /* ========================================================== IEP CHECKLIST ("College Transition Checklist") ========================================================== */ // Checklist content — edit here to add/remove months or tasks var CHECKLIST = [ { month: "September", tasks: [ "Meet with transition team to develop plan", "Meet with VR counselor", "Explore college options", "Develop a pro/con list of college options", "Explore requirements for entrance at each college", "Tour the colleges you think are the best fit", "Talk to people in the area of study you are interested in", "Write a draft college essay", "Decide what (if any) standardized tests you need to take and register for them" ] }, { month: "October", tasks: [ "Meet with transition team to check in", "Finalize list of schools you will apply to", "Research costs, financial aid, and application timelines for each college" ] } ]; function initChecklist(root) { if (!root || root.dataset.checklistInit === 'true') return; root.dataset.checklistInit = 'true'; var container = root.querySelector('.checklist-container'); var bar = root.querySelector('.progress-bar-inner'); var countEl = root.querySelector('.progress-count'); var banner = root.querySelector('.completion-banner'); var printBtn = root.querySelector('.btn-print'); if (!container) return; var total = 0; var checked = 0; var today = new Date().toISOString().split('T')[0]; function updateProgress() { var pct = total === 0 ? 0 : Math.round((checked / total) * 100); if (bar) { bar.style.width = pct + '%'; bar.classList.toggle('all-done', pct === 100); } if (countEl) countEl.textContent = checked + ' of ' + total; if (banner) banner.classList.toggle('visible', checked === total && total > 0); } function updateTally(sectionEl) { var boxes = sectionEl.querySelectorAll('.task-cb'); var done = 0; for (var i = 0; i < boxes.length; i++) { if (boxes[i].checked) done++; } var tally = sectionEl.querySelector('.month-tally'); if (tally) tally.textContent = done + ' of ' + boxes.length + ' done'; } CHECKLIST.forEach(function (section, mi) { total += section.tasks.length; var wrap = document.createElement('div'); wrap.className = 'month-section'; wrap.innerHTML = '
' + '' + section.month + '' + '' + '0 of ' + section.tasks.length + ' done' + '
'; section.tasks.forEach(function (taskText, ti) { var cbId = 'ndc-cb-' + mi + '-' + ti; var dateId = 'ndc-dt-' + mi + '-' + ti; var card = document.createElement('div'); card.className = 'task-card'; card.innerHTML = '' + '
' + '' + '' + '
'; card.querySelector('.task-text').textContent = taskText; var cb = card.querySelector('.task-cb'); cb.addEventListener('change', function () { if (this.checked) { card.classList.add('completed'); checked++; } else { card.classList.remove('completed'); checked--; } updateProgress(); updateTally(wrap); }); // Stop the date input from toggling the checkbox label card.querySelector('input[type="date"]').addEventListener('click', function (e) { e.stopPropagation(); }); wrap.appendChild(card); }); container.appendChild(wrap); }); if (countEl) countEl.textContent = '0 of ' + total; if (printBtn) { printBtn.addEventListener('click', function () { printChecklist(root); }); } } // Render the checklist into a hidden iframe and print just that iframe. // This sidesteps WordPress/Elementor page chrome layout issues — the // iframe contains only the checklist, so the browser prints exactly that. function printChecklist(root) { var iframe = document.createElement('iframe'); iframe.setAttribute('aria-hidden', 'true'); iframe.style.cssText = 'position:fixed;right:0;bottom:0;width:0;height:0;border:0;visibility:hidden;'; document.body.appendChild(iframe); var idoc = iframe.contentDocument || iframe.contentWindow.document; // Copy every and ' + '' + root.outerHTML + '' ); idoc.close(); var triggered = false; function doPrint() { if (triggered) return; triggered = true; try { iframe.contentWindow.focus(); iframe.contentWindow.print(); } catch (e) { // Last-ditch fallback if iframe print is blocked window.print(); } // Clean up after the print dialog has had time to open setTimeout(function () { if (iframe.parentNode) iframe.parentNode.removeChild(iframe); }, 1500); } // Most browsers: wait for the iframe to load iframe.onload = function () { setTimeout(doPrint, 350); }; // Safety net in case onload doesn't fire (already-loaded edge case) setTimeout(doPrint, 1200); } /* ========================================================== BOOT — runs after all declarations above are in place. Triggered on DOMContentLoaded, or immediately if the DOM is already loaded (e.g. script injected after page render). ========================================================== */ function boot() { document.querySelectorAll('.ndc-worksheet').forEach(initWorksheet); document.querySelectorAll('.ndc-checklist').forEach(initChecklist); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', boot); } else { boot(); } })();;