New on the web platform in July: Firefox 153 and Chrome 151

Rachel Andrew summarizes July's stable releases. Firefox 153 widens how the select element is parsed so that any nested element is allowed inside it, which opens the path to genuinely customizable dropdowns without JavaScript replacements. The same release brings the Picture-in-Picture API to desktop, the Intl.Locale Info API with getCalendars(), getTimeZones(), and getWeekInfo(), and IndexedDB getAllRecords(). Chrome 151 adds the CSS ruby-overhang property, manual slot assignment in declarative Shadow DOM through the shadowrootslotassignment attribute, and the animation property on the AnimationEvent and TransitionEvent interfaces.

Rachel Andrew summarizes July's stable browser releases. One item matters considerably more than the rest. Firefox 153 The way the select element is parsed was widened so that any nested element is allowed inside it, opening the path to genuinely customizable dropdowns without JavaScript replacements. The Picture-in-Picture API arrived on desktop. The Intl.Locale Info API brings getCalendars() , getTimeZones() , and getWeekInfo() . IndexedDB gains getAllRecords() . Chrome 151 The CSS ruby-overhang property was added. Manual slot assignment in declarative Shadow DOM arrived, through the shadowrootslotassignment attribute. The animation property is available on the AnimationEvent and TransitionEvent interfaces. Why the customizable select matters most The hand-built dropdown has been the leading source of accessibility problems on client sites for decades. Every library solved it slightly differently, and all of them were worse than the native control on mobile. A native select you can style removes that entire category of problem.