Snap Carousel
Most WordPress carousel plugins load heavy libraries (Slick, Swiper, jQuery) and fail basic accessibility checks. Screen readers can’t navigate them, keyboard users are stuck, and WCAG audits flag them every time. Snap Carousel takes a different approach: CSS scroll-snap does the scrolling, proper ARIA attributes do the rest. No JavaScript library, no configuration panel, no learning curve — just a block style to apply in one click. Built by WeAre[WP], a WordPress agency specializing in accessible websites and RGAA audits. This plugin exists because we needed a carousel that actually passes our own audits. Supported blocks Apply any of the 4 carousel styles to: Group block (core/group) — any child blocks become slides Query Loop block (core/query) — posts scroll as carousel slides Gallery block (core/gallery) — images scroll as carousel slides Variants Carousel (3 items) — 3 visible items + peek Carousel (1 item) — full-width slideshow Carousel (2 items) — 2 visible items + peek Carousel (4 items) — 4 visible items + peek Features 100% CSS scroll-snap — no Slick, no Swiper, no jQuery Prev/next navigation buttons Keyboard navigation (Arrow keys, Home, End) Full ARIA attributes (role=”region”, aria-roledescription, aria-live) Peek effect: partial visibility of the next item, signaling scrollable content Responsive (auto tablet/mobile adaptation) Respects prefers-reduced-motion Works with Group, Query Loop, and Gallery blocks Works with any child block (images, columns, groups, WooCommerce…) Lightweight: ~2 KB CSS + ~2 KB JS, zero external dependency Full RTL (right-to-left) language support Fully internationalized (i18n ready, French translation included) Easy to customize via CSS custom properties or overrides Accessibility (WCAG 2.2 AA) role="region" + aria-roledescription="carousel" on the container role="group" + aria-roledescription="slide" on each item aria-label="X of Y" for position context tabindex="0" for keyboard focus aria-live="polite" to announce changes Buttons with aria-label and aria-controls Touch targets 44×44px minimum Visible focus indicator Usage With a Group block In the editor, create a Group block Set the group layout to Row Add child blocks (images, groups, columns…) In the sidebar panel → Styles → choose Carousel (3 items) (or another variant) Publish With a Query Loop block Insert a Query Loop block Configure the query (post type, filters, number of items…) In the sidebar panel → Styles → choose a Carousel variant Publish — posts scroll horizontally as carousel slides With a Gallery block Insert a Gallery block and add images In the sidebar panel → Styles → choose a Carousel variant Publish — images scroll horizontally as carousel slides Navigation buttons and accessibility attributes are automatically injected on the front-end. Customization The carousel is designed to work out of the box, but you can easily override styles in your theme’s style.css or via the WordPress Customizer > Additional CSS. Disable the peek effect By default, items are slightly narrower than the visible area so the next item “peeks” in — signaling there is more content to scroll. To disable this and show full-width items: /* Disable peek — 3 items variant */ .is-style-snap-carousel > * { flex-basis: calc(33.333% - 1rem) !important; } /* Disable peek — 1 item variant */ .is-style-snap-carousel-single > * { flex-basis: 100% !important; } /* Disable peek — 2 items variant */ .is-style-snap-carousel-duo > * { flex-basis: calc(50% - 0.75rem) !important; } /* Disable peek — 4 items variant */ .is-style-snap-carousel-quad > * { flex-basis: calc(25% - 1.125rem) !important; } Customize navigation arrows /* Arrow color and background */ .snap-carousel-prev, .snap-carousel-next { background: #0073aa; color: #ffffff; border-color: #0073aa; } /* Arrow hover state */ .snap-carousel-prev:hover, .snap-carousel-next:hover { background: #005177; color: #ffffff; } /* Arrow size (default: 44px — WCAG minimum touch target) */ .snap-carousel-prev, .snap-carousel-next { width: 48px; height: 48px; } /* Square arrows instead of round */ .snap-carousel-prev, .snap-carousel-next { border-radius: 8px; } Customize spacing /* Gap between items */ [class*="is-style-snap-carousel"] { gap: 2rem; } /* Space above carousel (room for navigation) */ .snap-carousel-wrapper { padding-top: 4rem; } Customize focus indicator /* Custom focus color for keyboard navigation */ [class*="is-style-snap-carousel"]:focus-visible { outline-color: #ff6600; outline-width: 3px; } .snap-carousel-prev:focus-visible, .snap-carousel-next:focus-visible { outline-color: #ff6600; } Use with WordPress theme.json design tokens The carousel already uses --wp--preset--color--base, --wp--preset--color--contrast and --wp--preset--color--primary tokens. You can override these per-block in theme.json or via CSS: /* Example: dark themed carousel */ .snap-carousel-wrapper { --wp--preset--color--base: #1a1a2e; --wp--preset--color--contrast: #e0e0e0; --wp--preset--color--primary: #e94560; } Technical Notes – CSS overrides flex-wrap: nowrap on the Row container to force horizontal scrolling – Items use a slightly reduced flex-basis to create a peek effect (next item partially visible) – Navigation buttons are positioned absolute at the top right (adjust top value for your theme) – JS uses a 150ms debounce on scroll for button state updates and 300ms for screen reader announcements – Compatible with WooCommerce blocks (products, etc.) About Snap Carousel is built and maintained by WeAre[WP], a French WordPress agency specializing in accessible websites and RGAA compliance audits. This plugin was built to solve a real problem: every carousel plugin we audited failed basic accessibility requirements. So we built one that passes our own audits. Need help with your WordPress project? Get in touch.
Top keywords
- carousel22×2.84%
- items15×1.93%
- block11×1.42%
- peek10×1.29%
- css8×1.03%
- group7×0.90%
- navigation7×0.90%
- variant7×0.90%
- disable6×0.77%
- item6×0.77%
- query6×0.77%
- scroll6×0.77%
WPForms – AI Form Builder for WordPress – Contact Forms, Payment Forms, Survey Form, Quiz & More
WordPress Contact Form Builder Plugin WPForms is an AI drag & drop WordPress form builder that’s EASY and POWERFUL. Create contact forms, feedback forms, subscription forms, payment forms (including Stripe, Square & PayPal), and other types of forms for your site in minutes with just a few clicks! At WPForms, user experience is our #1 priority. Our pre-built form templates and workflows make WPForms the most beginner-friendly contact form plugin on the market. You don’t have to hire a developer. Create a form in less than 5 minutes with our drag & drop form builder, using a template or just asking AI to get a head start. WPForms Pro This plugin is the Lite version of WPForms Pro, which comes with email subscription forms, multi-page contact forms, file uploads, conditional logic, and extra payment integrations. Click here to purchase the best premium WordPress contact form plugin now! AI-Powered Drag & Drop Contact Form Builder Create custom contact forms in minutes with our easy-to-use drag and drop online form builder or just ask AI to build it for you. But don’t just take our word for it. See what WordPress experts are saying: WPForms is by far the easiest form plugin to use. My clients love WPForms and it’s one of the few plugins they can use without any training. As a developer I appreciate how fast, modern, clean and extensible it is. Bill Erickson – Expert WordPress Consultant Pre-built Form Templates WPForms comes with 2100+ pre-built form templates. Whether you’re looking to create a simple contact form, marketing form, request a quote form, donation form, payment order form, registration form, survey form, quiz form, Stripe payment form, or a subscription form, we have a form template already prepared and ready to use. Mobile Ready, SEO Friendly, and Optimized for Speed WPForms contact forms are 100% responsive and mobile-friendly. We optimized every query on the frontend and the backend to ensure that it’s one of the fastest WordPress contact form plugins. You can embed your contact form on any page with an optimized title and description, so WPForms is one of the most SEO friendly contact form plugins too. Fields & Features You Need to Succeed With star ratings, file uploads, repeater fields, survey fields, and multi-page contact forms, you can easily build the right custom form for your site’s needs. Plus, integrate your contact forms with an email marketing service in just a few steps and collect payments with Stripe, PayPal, and Square for bookings and orders without the need for a dedicated eCommerce plugin. See what one business owner has to say about their WPForms contact form: As a business owner, time is my most valuable asset. WPForms allows me to create smart contact forms with just a few clicks. With their pre-built form templates and the drag & drop builder, I can create a new form that works in less than 2 minutes without writing a single line of code. Well worth the investment. David Henzel – Co-founder of MaxCDN Surveys & Polls Create custom survey forms like Survey Monkey. Our WordPress survey plugin addon comes with smart survey fields including Likert scale, star ratings, and NPS. Embed your surveys and polls anywhere in WordPress. Use our survey reporting tools to customize graphs, export them for presentations, and display aggregate results. You can also share poll results instantly when collecting votes. Default WordPress Forms Aside from building simple contact forms, WPForms also helps you create better default WordPress forms, like custom WordPress login forms and custom WordPress user registration forms. Create a password-protected contact form or even a members-only contact form. Bloggers and publishers can use our WordPress post submission forms to accept guest posts, testimonials, and more. Payment Forms, Donation Forms, Booking Forms, and More While WPForms started out as a contact form plugin, it has evolved into a powerful custom forms solution for any type of payment or booking form. WPForms integrates with PayPal, Stripe, Square Payments, Authorize.Net, and Mercado Pago so you can easily accept credit card payments or take payments via PayPal. Bonus: you can also take signatures. We’re proud to be a Stripe Verified Partner. This partnership allows us to build the best Stripe integration with early access to features. You can use our Stripe integration to accept both one-time payments as well as recurring payments while syncing all form data to your Stripe account. Custom Calculator Forms Using the WPForms Calculations addon, you can build custom formulas and display results on the frontend. Create simple arithmetic calculations or build complex conditional calculations with rounded values, averages, time ranges, and more! It’s the best calculator plugin for WordPress. Forms Optimized for Conversions With our Form Pages addon, you can create distraction-free custom form landing pages to increase conversions. To improve form completion rates, we created Conversational Forms which helps you make your feedback forms feel more human by adding an interactive layout. (See Conversational Forms Demo). Easy to Customize and Extend You can easily customize your contact forms with our section dividers, HTML blocks, and CSS. Embedding forms in Elementor and Divi has never been easier thanks to our native integrations. We also know that our developer friends may want more control, so we added tons of hooks and filters. Full WPForms Feature List Online form builder – powerful drag & drop contact form builder. Create WordPress contact forms, payment forms, and other online forms without writing any code. 100% mobile responsive. GDPR friendly. Payment Forms – Take payments, donations, down payments, recurring payments, service payments with our Stripe (FREE) integration. Form templates pre-built and ready to import. Form styling for fields, labels, and buttons. Spam protection built in, plus integrations with hCaptcha, Google reCAPTCHA, and Cloudflare Turnstile. AI Forms to automatically create and refine forms through natural conversation. Instant form notifications via email. Custom form confirmations with success messages or thank you pages. Smart phone field that adapts to your visitor’s location. AI Choices to automatically populate Multiple Choice, Checkboxes, and Dropdown field options. Coupons for free shipping and sale discounts. Calculator forms for payment, shipping, billing, and more. File upload fields for user submissions. Multi-page forms with progress bars. Smart conditional logic to show or hide fields. Repeater field that enables the person filling out the form to easily add another field or group of fields to fill out. Perfect for group registration forms, custom order forms, and more. Signatures for agreements or payment forms. User registration forms and custom login forms. Post submission forms to collect user-generated content. Geolocation to collect location data along with submissions. Surveys and Polls with interactive reports. Quizzes with graded tests, personality quizzes, and scored assessments, plus AI-generated questions. Form abandonment detection to collect partial form submissions. Form locker to control access using passwords, dates, and more. Offline forms to collect submissions without an internet connection. Form landing pages to boost conversions. Conversational forms to boost overall completion rates. Lead forms to get more submissions with multi-step layouts. Webhooks to send data without third party connectors. User Journey reports so you know which content is driving form conversions. Save and Resume to let visitors save and come back later. Entry Automation to export and delete form entries on a daily, weekly, or monthly basis. Integrations Google Sheets Zapier PayPal Commerce Stripe – We’re a Stripe Verified Partner for Payments. Square Authorize.Net Mercado Pago Mailchimp AWeber Campaign Monitor GetResponse Constant Contact Airtable Notion Drip ActiveCampaign HubSpot Brevo MailerLite MailPoet ConvertKit Klaviyo SendGrid Salesforce Slack Dropbox Google Calendar Google Drive Twilio Pipedrive Make Zoho CRM You can see why WPForms is the best WordPress contact form plugin on the market! Want to unlock these features? Upgrade to our Pro version. Credits This plugin is created by Syed Balkhi. Branding Guidelines WPForms® is a registered trademark of WPForms LLC. When writing about the contact form plugin by WPForms, please make sure to uppercase the initial 3 letters. WPForms (correct) WP Forms (incorrect) wpforms (incorrect) wpform (incorrect) Notes WPForms is absolutely, positively the most beginner-friendly WordPress contact form plugin on the market. It is both easy and powerful. We took the pain out of creating online forms and made it easy. Check out all WPForms features. Also, I’m the founder of WPBeginner, the largest WordPress resource site for beginners. It was a huge priority for me to make a WordPress contact form plugin that beginners can use without any training. I feel that we have done that here. I hope you enjoy using WPForms. Thank you, Syed Balkhi