Welcome, weary internet traveller. You’ve stumbled onto a great slice of the internet.

Keyframes is a creative community. Share your #wip, get #feedback, find inspiration, and chat with people who make things. It is a bunker from the rest of the garbage internet. No popularity contests here. No circle jerks. No regular jerks. Just a wholesome place to shoot the shit and be real about what you’re making.

You can post in public, or private (with a Plus account). Use it to improve your work, or just feel good about creating things again.

Come on in! We hope you enjoy your stay.

Register here for a very fun time ✨️

Or log in if you’re returning. (Welcome back!)

All posts tagged “javascript”

A tiny library I'm working on that allows declarative interaction patterns
document.addEventListener('DOMContentLoaded', function() { ariaAutopilot.instruct({ '[role=tab]': { 'activate': 'context -> select', 'select': 'siblings -> deselect, set-script-focusable; context -> set-focusable; target -> show, set-focusable; target -> update-location', 'deselect': 'target -> hide, set-script-focusable', 'key_down': 'target -> focus', 'key_left': 'previous-sibling -> select', 'key_right': 'next-sibling -> select' }, '[role=tabpanel]': { 'target': 'origin -> select; context -> focus', 'key_up': 'origin -> focus' } }); });

This recipe automatically adds accessible tab interaction to the page. You simply define the correct HTML with the correct ARIA roles and the library handles it from there.