91³Ô¹ÏÍø

Watch CBS News

Students swap screens for stories. Dallas ISD book checkouts soar amid state's first cellphone ban for public schools

Public school districts in Texas are almost one school year into the first statewide cellphone ban, and a North Texas school district is seeing positive impacts.

Dallas ISD officials said that, district-wide, they have seen a significant increase in library book checkouts, which they largely attribute to students no longer having cellphones with them during the school day.

"I started hearing, 'Oh, I'm so bored. I can't get on my phone after I do my work or during lunchtime,'" Hillcrest High School librarian Nina Canales said. "Once they lock into these stories, they don't seem to care about their phones at all." 

From the first day of school to March 31, 2026, the district reported an increase of more than 200,000 additional books checked out compared to the previous year.

A look at the library checkouts for the previous year:

  • 2025-2026 Total Circulation (1st day of school to March 31, 2026) – 1,084,837
  • 2024-2025 Total circulation (1st day of school to March 31, 2025) – 872,430

Total library book checkout increase: 24.35%

At Dallas ISD's Hillcrest High, students are following this trend.

Canales said there were roughly 500 books checked out in the first nine weeks of the 2024-2025 school year. This school year, that number spiked to about 1,800 books.

"That floored me," Canales said. "I had to re-do the report again because I was like, 'What, are you kidding me?'"

Students felt the impact too.

"Now that I'm busy with a bunch of work and college, I don't find myself missing my phone that much, even at home," said Yamilet Jimenez, 9th grader. 

What is the cell phone ban?

Passed by the in 2025, bans public school students from using any personal communication devices, like cellphones, tablets or smart watches.

Lawmakers passed this bill with the goal of keeping students focused during the school day. 

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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });