The White House says roughly $1 trillion in Medicaid cuts won’t limit home- and community-based care. Health care experts disagree.
Source: NYT > Well.
The White House says roughly $1 trillion in Medicaid cuts won’t limit home- and community-based care. Health care experts disagree.
Source: NYT > Well.


For his latest single, “Soft Gradient Beckons,” British electronic musician Ryan Lee West, a.k.a. Rival Consoles, tapped multidisciplinary artist Anthony Dickenson to create a music video that plays with a sense of perception and reality—especially the distinction between analog and digital processes.
Dickenson employs a range of photography and film processes in his practice, focusing predominantly on nature and portraiture. For the “Soft Gradient Beckons” music video, he dove headlong into a nine-month experimental process, creating multiple, long paper scrolls with hand-painted frames in black ink. He then animated by documenting in a sequence akin to the way film is fed through a projector.
The video above features the complete music video, followed by a revealing making-of segment that delves into Dickenson’s labor-intensive process.
His installation “reflects the intricacies and dedication of the creative process,” the artist says in a statement. “The result is both a visual and emotional journey, seamlessly blending art and music into one cohesive experience.” Using cameras attached to a drone and a skateboard, he captures distinct details and patterns while also panning out to see the entire grouping arranged carefully on a warehouse floor.
The concept originated from what Dickenson calls a “mistake” that occurred when, a few years back, he was experimenting with making monoprints using ink rollers. He had a realization that little blemishes or so-called defects various textures from the roller actually lent themselves well to animation.
“Sometimes the mistakes are the bits that really reveal new techniques,” Dickenson says. “I love these little moments of imperfection. Otherwise, you know, you might as well just build in AI.” Find more on his website.



Do stories and artists like this matter to you? Become a Colossal Member today and support independent arts publishing for as little as $7 per month. The article Anthony Dickenson’s ‘Mistake’ Transforms into a Unique Animation for a Rival Consoles Music Video appeared first on Colossal.
Source: Colossal.

Riceviamo e pubblichiamo
Catanzaro ha appena vissuto una settimana straordinaria, densa di emozioni, partecipazione e bellezza.
Dopo i festeggiamenti in onore del Santo patrono, che hanno visto la partecipazione di oltre 30mila persone, si conferma anche il grande successo del Festival degli Aquiloni, tenutosi lo scorso weekend sulla spiaggia di località Giovino e organizzato dall’associazione “Eventi Volanti” con il supporto di “Dune APS”.
Un’iniziativa che ha coinvolto migliaia di famiglie e circa 2mila bambini, provenienti anche dalle aree periferiche più “difficili” della città.
Un’esperienza fatta di laboratori creativi, costruzione e decorazione di aquiloni, ma soprattutto di condivisione in uno spazio pubblico che, per un giorno, è diventato luogo di gioco, uguaglianza e bellezza.
Un momento autentico di inclusione sociale, che ha tradotto in realtà i princìpi del progetto “Catene Spezzate. A scuola di rispetto”, finanziato interamente con risorse del Fondo Unico di Giustizia, come previsto dalla delibera del 2 luglio 2025.
Il progetto mira alla prevenzione del bullismo, del cyber bullismo, della violenza sui minori e della dispersione scolastica, attraverso strumenti ludico-educativi.
In questo caso, proprio gli aquiloni si sono rivelati un mezzo efficace per comunicare con i più piccoli nel linguaggio che conoscono meglio: quello del gioco.
Trovo profondamente scorretto e strumentale l’attacco politico mosso da chi ha liquidato l’iniziativa come una semplice “festicciola”, insinuando – peraltro erroneamente – l’utilizzo improprio di fondi destinati ad altri scopi.
È doveroso ribadirlo: nessun fondo comunale è stato utilizzato per l’organizzazione dell’evento. Ancora una volta, si è preferito ignorare il valore sociale, educativo e comunitario di un’iniziativa che ha parlato al cuore della città.
Desidero esprimere la mia gratitudine a tutti coloro che per il terzo anno consecutivo hanno reso possibile un evento capace di portare sorrisi ai più piccoli e serenità alle famiglie.
Un ringraziamento speciale al Prefetto di Catanzaro, Sua Eccellenza Castrese De Rosa, per la presenza all’evento e per la sensibilità dimostrata verso tematiche così importanti.
Catanzaro ha dimostrato ancora una volta che la bellezza si costruisce anche attraverso gesti semplici, ma profondi. Continuiamo su questa strada.
Schermi
Oggi prende il via “SCHERMI – CINEMA MULTIPIAZZA”, una rassegna che da cinque anni arricchisce le estati di Catanzaro, portando il cinema nelle piazze e nei quartieri.
“Schermi” è un momento di comunità, di incontro tra le persone, un’occasione per vivere il cinema insieme, sotto le stelle, senza barriere.
Questa rasegna si distingue per il suo valore sociale e culturale, diventando un appuntamento fondamentale per la città e per l’intera regione.
Non è solo l’opportunità di vedere film d’autore, ma anche un’occasione per sentirsi parte di un progetto collettivo, che riporta il cinema al centro della vita quotidiana.
Le piazze, i cortili, i quartieri si trasformano in luoghi di aggregazione, dove ogni proiezione diventa un’occasione di condivisione e riflessione.
L’Amministrazione Comunale di Catanzaro ha da sempre sostenuto con convinzione iniziative come questa, che contribuiscono a rendere la nostra città un luogo più vivo, più aperto alla cultura e alle esperienze condivise.
Continueremo a supportare eventi che, come “Schermi”, uniscono la bellezza del cinema all’importanza della partecipazione civica, consolidando il nostro impegno a promuovere attività che arricchiscano il tessuto sociale della città.
Quest’anno, “Schermi” si consolida come un punto di riferimento del panorama culturale del Sud Italia, estendendo il suo abbraccio a nuove città e raggiungendo una sempre più vasta platea di spettatori.
È un evento che unisce, che coinvolge, che emoziona, creando legami e aprendo spazi di dialogo.
Source: Irriverentemente.

Accordion menus are everywhere on the web because users want fast answers and smooth navigation.
They help create clean, organized, and user-friendly interfaces. Many developers still reach for JavaScript to build accordions, which adds avoidable complexities to their projects.
The HTML <details> element solves this problem with its built-in disclosure widget that toggles content visibility using just a few lines of HTML and optional CSS.
In this article, we’ll look at an FAQ accordion built using <details>. You can see the final project here.
<details> Element?The HTML <details> element is a disclosure widget that allows you to hide and show content with a single click. Think of it as a native accordion that comes built into HTML.
The most common use case for accordions is the Frequently Asked Questions (FAQ) section on many sites. If you’ve seen or interacted with an FAQ, that’s an opportunity to use <details>.
It has two main components:
<details> is the main container tag that opens and closes to display what’s in <summary>.
<summary> is a container for the content that is displayed when <details> is clicked.
💡 In addition to the summary, you can include any HTML text element within the <details> container.

The image above shows a real-life use case of <details> on the Apple website. In a later section, we’ll learn about the browsers that support it.
<details> over JavaScript alternativesUnlike JavaScript-based accordions that add weight to your project, <details> offers the same functionality with minimal load and better performance. It also offers built-in keyboard navigation and screen reader support.
Choose <details> over JavaScript-created accordions when:
Building simple accordions or FAQ sections
Accessibility, performance, and SEO are a priority
You want to avoid JavaScript dependencies
<details> ElementHere’s what our example project looks like:

This design is by Frontend Mentor (and you can check out the project on Codepen).
To follow along, you need basic knowledge of HTML and CSS. Since the focus of this article is <details>, we won’t place a lot of emphasis on the starting HTML and CSS code (available on the Codepen above). Instead, we’ll look at one FAQ question with its answer to learn how <details> works.
<details>To create an accordion with the <details> element, you need both the <details> and <summary> elements, as shown in the starter code below.
<details> <summary>What is Frontend Mentor, and how will it help me?</summary> <p>Frontend Mentor offers realistic coding challenges to help developers improve their frontend coding skills with projects in HTML, CSS, and JavaScript. It’s suitable for all levels and ideal for portfolio building.</p> </details>
The GIF below will be the result after running the above code. With less than five lines of HTML code, we already have an accordion.

<details>Now, let’s focus on transforming our basic accordion into something visually appealing (foundational styles can be found on the Codepen). First, we’ll add the icons as SVGs within <summary> with classes (closed-icon and open-icon) to make them easy to style.
<details> <summary>What is Frontend Mentor, and how will it help me? <svg class="closed-icon" xmlns="<http://www.w3.org/2000/svg>" class="closed-icon" width="30" height="31" viewBox="0 0 30 31" fill="none"> <path d="M15 3.3125C12.5895 3.3125 10.2332 4.02728 8.22899 5.36646C6.22477 6.70564 4.66267 8.60907 3.74022 10.836C2.81778 13.063 2.57643 15.5135 3.04668 17.8777C3.51694 20.2418 4.67769 22.4134 6.38214 24.1179C8.08659 25.8223 10.2582 26.9831 12.6223 27.4533C14.9865 27.9236 17.437 27.6822 19.664 26.7598C21.8909 25.8373 23.7944 24.2752 25.1335 22.271C26.4727 20.2668 27.1875 17.9105 27.1875 15.5C27.1835 12.2689 25.8981 9.17131 23.6134 6.88659C21.3287 4.60186 18.2311 3.31653 15 3.3125ZM19.6875 16.4375H15.9375V20.1875C15.9375 20.4361 15.8387 20.6746 15.6629 20.8504C15.4871 21.0262 15.2486 21.125 15 21.125C14.7514 21.125 14.5129 21.0262 14.3371 20.8504C14.1613 20.6746 14.0625 20.4361 14.0625 20.1875V16.4375H10.3125C10.0639 16.4375 9.82541 16.3387 9.64959 16.1629C9.47378 15.9871 9.375 15.7486 9.375 15.5C9.375 15.2514 9.47378 15.0129 9.64959 14.8371C9.82541 14.6613 10.0639 14.5625 10.3125 14.5625H14.0625V10.8125C14.0625 10.5639 14.1613 10.3254 14.3371 10.1496C14.5129 9.97377 14.7514 9.875 15 9.875C15.2486 9.875 15.4871 9.97377 15.6629 10.1496C15.8387 10.3254 15.9375 10.5639 15.9375 10.8125V14.5625H19.6875C19.9361 14.5625 20.1746 14.6613 20.3504 14.8371C20.5262 15.0129 20.625 15.2514 20.625 15.5C20.625 15.7486 20.5262 15.9871 20.3504 16.1629C20.1746 16.3387 19.9361 16.4375 19.6875 16.4375Z" fill="#AD28EB"/> </svg> <svg class="open-icon" xmlns="<http://www.w3.org/2000/svg>" class="open-icon" width="30" height="31" viewBox="0 0 30 31" fill="none"> <path d="M15 3.3125C12.5895 3.3125 10.2332 4.02728 8.22899 5.36646C6.22477 6.70564 4.66267 8.60907 3.74022 10.836C2.81778 13.063 2.57643 15.5135 3.04668 17.8777C3.51694 20.2418 4.67769 22.4134 6.38214 24.1179C8.08659 25.8223 10.2582 26.9831 12.6223 27.4533C14.9865 27.9236 17.437 27.6822 19.664 26.7598C21.8909 25.8373 23.7944 24.2752 25.1335 22.271C26.4727 20.2668 27.1875 17.9105 27.1875 15.5C27.1841 12.2687 25.899 9.17076 23.6141 6.8859C21.3292 4.60104 18.2313 3.31591 15 3.3125ZM19.6875 16.4375H10.3125C10.0639 16.4375 9.82541 16.3387 9.64959 16.1629C9.47378 15.9871 9.37501 15.7486 9.37501 15.5C9.37501 15.2514 9.47378 15.0129 9.64959 14.8371C9.82541 14.6613 10.0639 14.5625 10.3125 14.5625H19.6875C19.9361 14.5625 20.1746 14.6613 20.3504 14.8371C20.5262 15.0129 20.625 15.2514 20.625 15.5C20.625 15.7486 20.5262 15.9871 20.3504 16.1629C20.1746 16.3387 19.9361 16.4375 19.6875 16.4375Z" fill="#301534"/> </svg> </summary> <p>Frontend Mentor offers realistic coding challenges to help developers improve their frontend coding skills with projects in HTML, CSS, and JavaScript. It’s suitable for all levels and ideal for portfolio building.</p> </details>
In the code below, we customize the disclosure marker by hiding the default arrow and adding a custom icon to the right using the ::marker pseudo-element on <summary>. We also set its content as empty, which removes the marker altogether.
/* Styles for the clickable summary element*/ summary { font-weight: 700; cursor: pointer; display: flex; align-items: center; transition: color 0.2s ease; margin-bottom: 1em; padding: 1.5em; /* Remove the default marker */ &::marker { content: ''; } &:last-child { margin-bottom: 0; } &:hover { color: var(--text-accent); outline: none; } } p { padding-top: 1em; color: var(--text-light); } /* Styles for the collapsible <details> container */ details { margin-bottom: 1em; &:last-child { margin-bottom: 0; } .open-icon { display: none; } &[open] { .open-icon { display: inline; } .closed-icon { display: none; } } .open-icon, .closed-icon { width: 1.8em; height: 1.8em; flex-shrink: 0; } }
The GIF below shows the output of styling our accordion with the CSS code above.

To have an FAQ question expanded when the page loads, add the open attribute to <details>. This is particularly useful for highlighting important information where the most crucial FAQ starts expanded.
<details open> <summary>What is Frontend Mentor, and how will it help me?</summary> </details>
According to MDN, <details> is a well established feature that works across many devices and the popular browsers (Chrome, Edge, Firefox, and Safari) since January 2020.

<details> includes built-in accessibility features that requires additional JavaScript in custom solutions such as keyboard navigation, screen reader support, and semantic structure. You can also add attributes like role, aria-expanded, and aria-labelledby to ensure even more accessibility.
<details> is a powerful yet under-utilized element for creating UI elements like accordions, FAQs, or navigation menus without JavaScript. It is easy to implement and lightweight, and yet improves user experience with interactive content.
So, the next time you need to create any collapsible content, with accessibility and performance in mind, consider reaching for <details> and it will surely make your development life easier.
Here are some helpful resources:
Source: freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More.

Tyler, the Creator has shared a new video to coincide with his newly released album Don’t Tap the Glass. The self-directed visual for “Stop Playing With Me,” the album’s fifth track, features the rapper dancing in a room between two oversized speakers before the carpeted floor begins to move as if on a treadmill. It also includes guest appearances from Clipse’s Pusha T and Malice, LeBron James (who was excited for the album), and the basketball superstar’s business associate Maverick Carter. Check out the video below.
Don’t Tap the Glass follows Tyler, the Creator’s recent verse on Clipse’s “P.O.V.” It’s also Tyler’s first album since last October’s Chromakopia, and was teased and released within just four days, achieving the shortest rollout for one of his albums yet. The new LP, which is just under 30 minutes, features a sample of Busta Rhymes’ “Pass the Courvoisier Part II,” among other tracks.
Tyler, the Creator has been on tour behind Chromakopia since February, with future shows lined up in the United States, Canada, New Zealand, Australia, Japan, South Korea, Thailand, and the Philippines. See his itinerary in full here.
Source: RSS: News.

The staff of Pitchfork listens to a lot of new music. A lot of it. On any given day our writers, editors, and contributors go through an imposing number of new releases, giving recommendations to each other and discovering new favorites along the way. Each Monday, with our Pitchfork Selects playlist, we’re sharing what our writers are playing obsessively and highlighting some of the Pitchfork staff’s favorite new music. The playlist is a grab-bag of tracks: Its only guiding principle is that these are the songs you’d gladly send to a friend.
This week’s Pitchfork Selects playlist features Tyler, the Creator, Demahjiae, Alex G, Ralphie Choo, Fakemink, Olof Dreijer, Nine Inch Nails, 03 Greedo, and more. Listen below and follow our playlists on Apple Music and Spotify. (Pitchfork earns a commission from purchases made through affiliate links on our site.)
Tyler, the Creator: “Mommanem”
Demahjiae: “All I Could Ask For…”
Alex G: “Louisiana”
Been Stellar: “Adored”
Ralphie Choo: “D’amor traficante”
Blood Orange: “Mind Loaded” [ft. Caroline Polachek, Lorde and Mustafa]
Fakemink: “Under Your Skin”
FKA twigs: “Perfectly”
Olof Dreijer: “Iris”
Nine Inch Nails: “As Alive as You Need Me to Be”
03 Greedo: “Take Me Somewhere”
Jaeychino: “Link Up”
Che / OsamaSon: “Hellraiser”
Spiritual Cramp: “At My Funeral”
Source: RSS: News.
Focus trapping is a term that refers to managing focus within an element, such that focus always stays within it:
This whole focus trap thing is used to create accessible modal dialogs since it’s a whole ‘nother trouble to inert everything else — but you don’t need it anymore if you’re building modals with the dialog API (assuming you do it right).
Anyway, back to focus trapping.
The whole process sounds simple in theory, but it can quite difficult to build in practice, mostly because of the numerous parts to you got to manage.
If you are not averse to using code built by others, you might want to consider this snippet with the code I’ve created in Splendid Labz.
The basic idea is:
import { getFocusableElements, trapFocus } from '@splendidlabz/utils/dom'
const dialog = document.querySelector('dialog')
// Get all focusable content
const focusables = getFocusableElements(node)
// Traps focus within the dialog
dialog.addEventListener('keydown', event => {
trapFocus({ event, focusables })
})
The above code snippet makes focus trapping extremely easy.
But, since you’re reading this, I’m sure you wanna know the details that go within each of these functions. Perhaps you wanna build your own, or learn what’s going on. Either way, both are cool — so let’s dive into it.
I did research when I wrote about this some time ago. It seems like you could only focus an a handful of elements:
abuttoninputtextareaselectdetailsiframeembedobjectsummarydialogaudio[controls]video[controls][contenteditable][tabindex]So, the first step in getFocusableElements is to search for all focusable elements within a container:
export function getFocusableElements(container = document.body ) {
return {
get all () {
const elements = Array.from(
container.querySelectorAll(
`a,
button,
input,
textarea,
select,
details,
iframe,
embed,
object,
summary,
dialog,
audio[controls],
video[controls],
[contenteditable],
[tabindex]
`,
),
)
}
}
}
Next, we want to filter away elements that are disabled, hidden or set with display: none, since they cannot be focused on. We can do this with a simple filter function.
export function getFocusableElements(container = document.body ) {
return {
get all () {
// ...
return elements.filter(el => {
if (el.hasAttribute('disabled')) return false
if (el.hasAttribute('hidden')) return false
if (window.getComputedStyle(el).display === 'none') return false
return true
})
}
}
}
Next, since we want to trap keyboard focus, it’s only natural to retrieve a list of keyboard-only focusable elements. We can do that easily too. We only need to remove all tabindex values that are less than 0.
export function getFocusableElements(container = document.body ) {
return {
get all () { /* ... */ },
get keyboardOnly() {
return this.all.filter(el => el.tabIndex > -1)
}
}
}
Now, remember that there are two things we need to do for focus trapping:
This means we need to be able to find the first focusable item and the last focusable item. Luckily, we can add first and last getters to retrieve these elements easily inside getFocusableElements.
In this case, since we’re dealing with keyboard elements, we can grab the first and last items from keyboardOnly:
export function getFocusableElements(container = document.body ) {
return {
// ...
get first() { return this.keyboardOnly[0] },
get last() { return this.keyboardOnly[0] },
}
}
We have everything we need — next is to implement the focus trapping functionality.
First, we need to detect a keyboard event. We can do this easily with addEventListener:
const container = document.querySelector('.some-element')
container.addEventListener('keydown', event => {/* ... */})
We need to check if the user is:
Splendid Labz has convenient functions to detect these as well:
import { isTab, isShiftTab } from '@splendidlabz/utils/dom'
// ...
container.addEventListener('keydown', event => {
if (isTab(event)) // Handle Tab
if (isShiftTab(event)) // Handle Shift Tab
/* ... */
})
Of course, in the spirit of learning, let’s figure out how to write the code from scratch:
event.key to detect whether the Tab key is being pressed.event.shiftKey to detect if the Shift key is being pressedCombine these two, you will be able to write your own isTab and isShiftTab functions:
export function isTab(event) {
return !event.shiftKey && event.key === 'Tab'
}
export function isShiftTab(event) {
return event.shiftKey && event.key === 'Tab'
}
Since we’re only handling the Tab key, we can use an early return statement to skip the handling of other keys.
container.addEventListener('keydown', event => {
if (event.key !== 'Tab') return
if (isTab(event)) // Handle Tab
if (isShiftTab(event)) // Handle Shift Tab
/* ... */
})
We have almost everything we need now. The only thing is to know where the current focused element is at — so we can decide whether to trap focus or allow the default focus action to proceed.
We can do this with document.activeElement.
Going back to the steps:
Naturally, you can tell that we need to check whether document.activeElement is the first or last focusable item.
container.addEventListener('keydown', event => {
// ...
const focusables = getFocusableElements(container)
const first = focusables.first
const last = focusables.last
if (document.activeElement === last && isTab(event)) {
// Shift focus to the first item
}
if (document.activeElement === first && isShiftTab(event)) {
// Shift focus to the last item
}
})
The final step is to use focus to bring focus to the item.
container.addEventListener('keydown', event => {
// ...
if (document.activeElement === last && isTab(event)) {
first.focus()
}
if (document.activeElement === first && isShiftTab(event)) {
last.focus()
}
})
That’s it! Pretty simple if you go through the sequence step-by-step, isn’t it?
As I resolve myself to stop teaching (so much) and begin building applications, I find myself needing many common components, utilities, even styles.
Since I have the capability to build things for myself, (plus the fact that I’m super particular when it comes to good DX), I’ve decided to gather these things I find or build into a couple of easy-to-use libraries.
Just sharing these with you in hopes that they will help speed up your development workflow.
Thanks for reading my shameless plug. All the best for whatever you decide to code!
A Primer on Focus Trapping originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.
Source: CSS-Tricks.

Bob Michele, global head of fixed income at JPMorgan Asset Management, says the 10-Year US Treasury yield shows “constant demand for government bonds, there’s constant demand for the bond market out there.” (Source: Bloomberg)
Source: Bloomberg Markets.

Top US university returns to court to fight against funding freeze that halted major research efforts
Donald Trump’s libel lawsuit against the Wall Street Journal and Rupert Murdoch has been assigned to Darrin P Gayles, a US district judge for the southern district of Florida.
Trump’s lawsuit on Friday, which also targets Dow Jones and News Corp, was filed in the southern district of Florida federal court in Miami.
Source: World news | The Guardian.