This decision tree describes how to use the alt attribute of the element in various situations. For some types of...
Elements can be hidden and shown by toggling the display property. However, this is not animatable, so we often turn...
tl;dr When a cookie includes an Expires attribute or an HTTP response includes caching headers like Expires or Cache...
Text fragments allow linking directly to a specific portion of text in a web document, without requiring the author to...
Starting with ChromeDriver 127, if your application displays a beforeunload confirmation dialog, ChromeDriver will immediately close it. In consequence, any...
testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...
You are given two CSS selectors that you do not control. How can you build a new selector that matches...
Reacting on a class getting added can be done with a mutation observer. Example: const items = document.querySelectorAll('.item') const expectedClass...
The Visual Viewport API enables developers to access the actually visible area of the page. This differs from the normal...
Modern JavaScript includes Intl.NumberFormat to format numbers in different formats and locales. In this card, we describe a wrapper for...
This card shows an uncommon way to retrieve a file using selenium where JavaScript is used to return a binary...
shoelace is a library of web components. Here is a proof of concept how a integration (slightly different as the...
Your commit messages should include the ID of the issue your code belongs to. Our preferred syntax prefixes the issue...
This card describes four variants, that add a more intuitive workflow when working with nested attributes in Rails + Unpoly:
...HTML elements can automatically start playing when the autoplay attribute is set on them. Except for when they can not...
Debugging performance issues in your Rails app can be a tough challenge. To get more detailed insights consider using the...
There are two ways a logout in SAML can happen: Service Provider (SP) initiated and Identity Provider (IDP) initiated logout...
Note Using rem only ever makes sense when the root font size is dynamic, i.e. you leave control to the...
tl;dr Prefer request specs over end-to-end tests (Capybara) to joyfully test file downloads! Why? Testing file downloads
Rachel Andrew has built a website about CSS Grid. Video tutorials More than 30 layout examples for feature demonstration
You can chain multiple Capybara matchers on the page or any element: expect(page) .to have_content('Example Course')
A common cause of non-accessible web pages are elements that were made interactive via JavaScript but cannot be focused...
These are the top ten accessibility errors as researched by TPGi, a company focusing on accessibility. See the linked article...
The Web Animations API has great browser support, and you should be using it to animate DOM elements from JavaScript...