Short Attention Span Theatre – April 2026

Short Attention Span Theatre – April 2026

Short Attention Span Theatre returns to the Gaiety with a fresh handful of short new plays presented in just 90 minutes. Come and discover the latest voices in theatre as SAST’s stellar cast of professional actors transform the raw new writing talent into captivating performances.

Over the years, SAST has presented the first theatre work by acclaimed authors Rachelle Atalla, Elissa Soave, and Kirkland Ciccone, as well as the celebrated short story writer Chris McQueer. We’re sure there will be something for everyone!

Doors open 30 minutes before performances

Additional Information

Disabled access
Friday 10 April & Saturday 11 April 2026
2.30pm & 7pm
15
The Gaiety Theatre, Carrick Street, Ayr KA7 1NU

Map

You might also like...

Ayr Film Society Logo
Every Thursday from September
Doors open 6.45pm, screenings at 7.15pm
80 Full Price (Concessions and other season passes available)

Ayr Film Society

Ayr Film Society
A festive promotional poster with a green and gold Christmas-themed background featuring pine branches, ornaments, and stars. The poster displays circular portraits of five people: Marc Jennings, Susie McCabe, Des Clarke, Jeremy Levif, Dean Park, and Ali Wright. Text indicates that Marc Jennings, Susie McCabe, and Des Clarke are comedians, Dean Park is a Scottish comedy legend, Jeremy Levif provides live music as a finalist from The Voice, and Ali Wright hosts from NOW Ayrshire Radio.
Friday 5 December 2025
8pm
18 – £26

The Scottish Comedians – Christmas Night Oot

The Scottish Comedians – Christmas Night Oot
Promotional poster for 'Santa's Cousin Bob!' presented by The Gaiety Creative Engagement. The background shows a snowy landscape with snow-covered pine trees. The title 'SANTA'S COUSIN BOB!' appears in large, colorful letters at the center. A purple banner at the top displays 'CREATIVE ENGAGEMENT' on the left and 'THE GAIETY' on the right in white text.
13 - 21 December 2025
11am and 1pm
7.50

Santa’s Cousin Bob! Presented by The Gaiety Creative Engagement

Santa’s Cousin Bob! Presented by The Gaiety Creative Engagement
A picture of the orchestra of Join Gordon Cree and his orchestra. Showing a erson with a very smiley face.
Thursday 18 December 2025
7.30pm
3 to £30

Christmas Classics with the Gordon Cree Orchestra – Ayr Town Hall

Christmas Classics with the Gordon Cree Orchestra – Ayr Town Hall
The image shows a promotional poster for a theatrical pantomime production titled "Aladdie," presented by "The Gaiety." The title is written in bold, golden lettering with a whimsical font, and the letter "e" at the end of "Aladdie" is highlighted with a tartan fabric pattern. Below the title, it reads "A Family Pantomime" in a smaller, elegant font. The background is a deep purple with a subtle tartan pattern, reinforcing the Scottish theme.
Thursday 18 December - Wednesday 31 December 2025
12pm, 1.30pm & 6.30pm,
18 to £35

Aladdie

Aladdie
Promotional collage for a country music tribute show featuring stylized images of multiple performers dressed in classic country attire, including cowboy hats, western shirts, and glamorous stage outfits. The background is dark with red and black tones, creating a dramatic concert-like atmosphere. The performers are arranged in two rows, with bright lighting highlighting their costumes.
Wednesday 21 January 2026
7.30pm
22 - £32

The Legends of American Country Show

The Legends of American Country Show

Join our newsletter

Get the latest Destination South Ayrshire news and events delivered straight to your inbox…

Sign up for our newsletter

Get the latest Destination South Ayrshire news and events delivered straight to your inbox.

Copyright © 2025 Destination South Ayrshire. Provided by South Ayrshire Council.

Sign up for our newsletter

Get the latest Destination South Ayrshire news and events delivered straight to your inbox…

document.addEventListener('DOMContentLoaded', () => { // Robust selectors for 2025 Elementor (covers Pro, Hello, Astra) const toggle = document.querySelector('.elementor-menu-toggle, .elementor-nav-menu--toggle button, [aria-expanded][role="button"]'); const menu = document.querySelector('.elementor-nav-menu--dropdown, .elementor-nav-menu__container, nav[role="navigation"]'); if (!toggle || !menu) { console.error('ZoomFix: Elements not found. Inspect hamburger/menu HTML.'); return; } console.log('ZoomFix: Found toggle and menu. Testing at 400% zoom...'); let focusables = []; let firstItem, lastItem; let isOpen = false; let tabCountAtEnd = 0; // Detects repeated Tabs to auto-close const MAX_TABS_BEFORE_CLOSE = 2; // Closes after 2 Tabs on last item const updateFocusables = () => { focusables = Array.from(menu.querySelectorAll('a[href], button:not([disabled]), [tabindex]:not([tabindex="-1"])')); firstItem = focusables[0]; lastItem = focusables[focusables.length - 1]; console.log('ZoomFix: Updated focusables:', focusables.length); }; // Monitor for menu open/close (handles Elementor's mutations at zoom) const observer = new MutationObserver((mutations) => { const expanded = toggle.getAttribute('aria-expanded') === 'true' || toggle.classList.contains('elementor-active'); if (expanded !== isOpen) { isOpen = expanded; console.log('ZoomFix: Menu state:', isOpen ? 'OPEN' : 'CLOSED'); if (isOpen) { updateFocusables(); setTimeout(() => firstItem?.focus(), 100); // Delay for zoom reflow startFocusPolling(); // Start zoom-safe polling } else { stopFocusPolling(); toggle.focus(); } } }); observer.observe(toggle, { attributes: true, subtree: true }); // Zoom-proof focus trap: Global Tab listener const handleTab = (e) => { if (!isOpen || !focusables.length) return; updateFocusables(); // Re-scan for zoom/DOM changes if (document.activeElement === lastItem && e.key === 'Tab' && !e.shiftKey) { e.preventDefault(); tabCountAtEnd++; console.log('ZoomFix: Tab at end (#', tabCountAtEnd, ')'); if (tabCountAtEnd >= MAX_TABS_BEFORE_CLOSE) { console.log('ZoomFix: Auto-closing after repeated Tabs'); closeMenu(); tabCountAtEnd = 0; } else { firstItem.focus(); // Trap: Loop to start } } else if (document.activeElement === firstItem && e.key === 'Tab' && e.shiftKey) { e.preventDefault(); lastItem.focus(); // Trap: Loop to end } }; // Polling for zoom event loss (runs only when open) let pollInterval; const startFocusPolling = () => { pollInterval = setInterval(() => { if (isOpen && document.activeElement && !menu.contains(document.activeElement)) { console.log('ZoomFix: Focus escaped during zoom—trapping back'); firstItem?.focus(); } }, 50); // 50ms check survives zoom reflow }; const stopFocusPolling = () => clearInterval(pollInterval); const closeMenu = () => { console.log('ZoomFix: Forcing close'); toggle.click(); // Elementor's native close tabCountAtEnd = 0; }; // Attach listeners document.addEventListener('keydown', handleTab); document.addEventListener('keyup', (e) => { if (e.key === 'Escape' && isOpen) closeMenu(); }); // Fallback: Click outside document.addEventListener('click', (e) => { if (isOpen && !menu.contains(e.target) && !toggle.contains(e.target)) closeMenu(); }); // Initial scan updateFocusables(); });