91³Ô¹ÏÍø

Watch CBS News

Dancers of all abilities take center stage during NYC National Dance Institute's DREAM Project

Parents of children with disabilities say it can be difficult to find extracurricular activities that are inclusive and accessible. But twice a year, the National Dance Institute in Harlem brings together dancers with and without special needs for a camp, proving anyone can take center stage.

In February and August, dancers with and without disabilities participate in, a week-long program that's tailored around each participant's unique abilities. Some use wheelchairs; others may be blind or have Autism. 

Instructors say choreography starts with what everyone can do, then dancers can differentiate based on their own individual skills. 

"One of our goals and missions is to change an audience's understanding of what dance can, should look like. Who can dance?" said Kay Gayner, the artistic director of National Dance Institute. "That creates all kinds of interesting opportunities for choreography that doesn't look like anything you've ever seen before ... If you use a wheelchair, there's gliding, there's bouncing, there's speeding through space."

Many programs exclude students with disabilities, survey says   

The New York City Comptroller over 600 school principals in 2025 and found that many after-school programs exclude students with disabilities. 

Affordability, availability, proximity, and staff experience are all factors families have to consider when finding a program.

"Having a special needs child takes up a lot of time and a lot of energy. So, then having the bandwidth to find the extra things that really help them flourish as people. Sometimes it's very difficult to do that," said Tim Turnham, the grandfather of DREAM camper Juniper.

"They have a right to participate in activities in the community"

Organizations like INCLUDEnyc attempt to bridge this gap. It offers resource fairs each winter to help parents navigate the school system and find affordable, inclusive activities for their kids.

Kpana Kpoto works for INCLUDEnyc whose son has autism. She emphasized the importance of having inclusive programs. 

"They have a right to participate in activities in the community the same way as their non-disabled peers," she said. "Learning comes both ways because children without disabilities can also learn from children with disabilities."

Families and advocates say inclusivity is good for everyone, whether it's elevators at a subway station or a dance camp.

Have a story idea or tip in Harlem? Email Noelle by CLICKING HERE.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });