Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Devin Rousso
Layers Tab
Contents Visualizing Layers Understanding Layers Debugging Layers After the position and size of each DOM node has been calculated, they are drawn onto a series of surfaces called layers, which are then composited in a particular order to produce the resulting appearance of the web page. All pages have a root layer corresponding to the document itself, but any DOM node can cause a new layer to be created. Layers have a significant impact on rendering performance.
Audit Tab
Contents Running Audits Audit Results Sharing Audits Disabling Audits Default Audits Creating Audits Often when creating web pages, there are particular rules or guidelines that are set by the site author or by an included library/framework. In those cases, it can be tedious to check if those rules or guidelines have been broken, not to mention the fact that web pages change often, requiring this process to be repeated over and over.
Enabling Web Inspector
Contents macOS iOS Device iOS Simulator Automatic Inspection macOS To enable Web Inspector in Safari (or Safari Technology Preview): click the Safari (or Safari Technology Preview) menu bar item select Preferences… (or press ⌘ ,) go to the Advanced pane check the Show Develop menu in menu bar checkbox Show Web Inspector (or pressing ⌥ ⌘ I) in the Develop menu or by right-clicking on any page in Safari (or Safari Technology Preview) and selecting Inspect Element.
Console Command Line API
Contents Getters Functions Saved Result Alias One of the most useful parts of Web Inspector is being able to generate interactive visualizations of any value in the Console. But the Console can do so much more than just visualize values. There are a number of specially exposed getters and functions available for use when evaluating JavaScript from the Console that provide extra functionality which cannot be done through any other means.
JavaScript Breakpoints
Contents State Configuration Special Breakpoints If you’ve ever used Xcode to debug an application, Web Inspector supports many of the same features, including setting breakpoints. Left clicking (or right-clicking and selecting Add Breakpoint in the context menu) on any line in the gutter (where the line numbers are) of a JavaScript resource (or any inline <script> in an HTML resource) will set a JavaScript breakpoint on that line.
WebGPU and WSL in Web Inspector
In Safari Technology Preview release 91, beta support was added for the WebGPU API and WSL. In Safari Technology Preview release 94, support for showing WebGPU devices, as well as all associated render/compute pipelines and <canvas> elements, was added to Web Inspector inside the Canvas Tab. Just like WebGL shader programs, all render/compute pipelines are editable, and any changes will have an immediate effect.
Changing Page Settings on iOS Using Web Inspector
If you’ve ever used Web Inspector before, chances are you’ve used (or are at least familiar with) the Develop menu. It holds action items and toggles for various settings of the browser, like whether local files (e.g. URLs beginning with file://) can be loaded or whether CSS is applied to each page. All of these items apply to the entire browser, meaning that if you Disable Styles on one page, every other page will be affected.
Audits in Web Inspector
Often when creating web pages, there are particular rules or guidelines that are set by the site author, or by an included library/framework. In those cases, it can be tedious to find any cases where those rules/guidelines may be broken, assuming one even has the inclination to do so. As a simple example, remembering to set a title or alt on <img> is often forgotten, but it’s important to include them as it makes it easier for accessibility tools to understand and/or navigate the page.
Creating Web Inspector Audits
This post is a followup to the Audits in Web Inspector post, and explains the capabilities of and how to write an Audit. Test Case Format The actual test that is run in the page is just a stringified JavaScript function. async functions are allowed, as well as non-async functions that return a Promise. The only requirement is that the return value of the function (or Promise) conforms to the following rules: Returning true/false will translate to a Pass/Fail result with no additional data.
Debugging Media in Web Inspector
Media elements, such as <video> and <audio>, can sometimes be tricky to debug due to the sheer flexibility of the available functionality. Content can be loaded in a variety of different ways, such as a direct stream from a single file, byte-range requests from a single file, or multipart streams from different sources. In the past it was difficult to reconcile how content made the journey to being displayed on a page, as well as how it interacted with the other content around it.
Canvas Debugging
Ever since its introduction in 2004, the Canvas element and its associated APIs have been an incredible tool for generating specific visual effects on a webpage. As more technologies, such as WebGL, came into being, Canvas’ complexity grew, and more was expected of the developer. For many years, debugging Canvas issues was a process of adding statements, or even overriding the prototype of the Canvas’ context to better understand when functions are being called.
Editing CSS with the Visual Styles Sidebar
For new and experienced web developers alike, CSS isn’t always the easiest to deal with. Specificity and cascade order can be complex and it can be confusing to figure out what applies to each element on the page. To make matters worse, it isn’t always clear what each property does, or what its valid values are. Sure, you could type into the Styles sidebar editor, but what does that mean? Do you know what the other valid values for are?
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Devin
Contact Devin, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack