rssed

a collection of dev rss feeds - blogroll

Add a new feed


HTMHell

Posts

Never underestimate HTML ๐Ÿ”—

by Lara Aigmรผller โ€œHTML is easy.โ€, โ€œFrontend development is easier than backend development.โ€, โ€œUpdating the UI should be a simple task once the backe [...]

The devil is in the details: a look into a disclosure widget markup ๐Ÿ”—

by Cristian Diaz Disclosure widgets are one of the most common component patterns you can find on the web. It consists of a button that can hide or sh [...]

ARIA Live Regions ๐Ÿ”—

by Andrea de Souza ARIA stands for Accessible Rich Internet Applications. It is a set of roles and attributes that makes web page elements accessible [...]

The Implied Web ๐Ÿ”—

by Halvor William Sanden People donโ€™t need call-to-action buttons. Interface elements made to get attention and herd people towards clicks increase co [...]

Design pattern for custom tooltips ๐Ÿ”—

by Jan Hellbusch Should we use tooltips to convey information? Hints and descriptions are often included on web pages through tooltips โ€“ but not every [...]

Boosting testing efficiency: how semantic HTML transforms End-to-End testing ๐Ÿ”—

by Stefania Mellai Semantic and accessible HTML serves as a powerful tool, enhancing not only human interaction but also the efficiency of software sy [...]

The road toย HTMHell isย paved with semantics ๐Ÿ”—

by Vadim Makeev HTML semantics isย aย nice idea, but does itย really make aย difference? Thereโ€™s aย huge gap between HTML specโ€™s good intentions and what b [...]

Revisiting Fundamentals - Semantic lists for Improved Accessibility ๐Ÿ”—

by Winnie Bosibori Lists are one of the fundamental semantic HTML configurations that, when implemented appropriately can enhance accessibility. HTML [...]

Swallowing camels ๐Ÿ”—

by Ida Franceen I don't like how the screen reader pronounces these numbers and I've been experimenting with different kinds of markup to get it to re [...]

The Ghosts of Markup Past ๐Ÿ”—

by Thomas A. Powell As a well-seasoned web developer, a clear euphemism for my age, I reminisce about the early days of markup through the haze of str [...]

Getting started with Web Performance ๐Ÿš€ ๐Ÿ”—

by Alistair Shepherd Carefully observing websites in the wild As the murderous tortoises start to converge on Ryลซjiโ€™s hideout, th [...]

HTML: The Bad Parts ๐Ÿ”—

by Mayank You've probably heard statements along the lines of "HTML is already accessible by default" or "You don't need to reinvent this perfectly fi [...]

Test-driven HTML and accessibility ๐Ÿ”—

by David Luhr When I started writing unit tests and following a test-driven development (TDD) workflow, I was stoked with the immediate feedback and c [...]

The hidden attribute in HTML ๐Ÿ”—

by Ahmad El-Alfy The hidden attribute allows us to hide HTML elements from the page. When it was introduced, it worked in a very simple way: it set th [...]

Template for accessibility guidelines ๐Ÿ”—

by Steve Frenzel Foreword This template is opinionated and intended as a starting point for those who want to define how accessibility is dealt with i [...]

What the slot? ๐Ÿ”—

by Egor Kloos (aka dutchcelt) Web Components. The discussion seems to pop up more than it used to. Web Components Will Outlive Your JavaScript Framewo [...]

The hidden depths of the input element ๐Ÿ”—

by Phil Nash The <input> element is the most fascinating element in HTML. Most elements behave the same way regardless of their attributes, the type a [...]

Security Headers using &lt;meta&gt; ๐Ÿ”—

by Saptak S Various HTTP headers are sent between the user and the server of a website in the request-response cycle. Some of these HTTP response head [...]

Web Components FTW! ๐Ÿ”—

by Chris Ferdinandi Web Components are a collection of technologies that you can use to create reusable custom elements, with built-in interactivity, [...]

The Hellish History of HTML: An incomplete and personal account ๐Ÿ”—

by Jason Cranford Teague Timeline of HTML from 1990โ€“2024 Note: HTML standards are developed first in browsers, so the version might have already [...]

Back to Basics: 5 HTML attributes for improved accessibility and user experience ๐Ÿ”—

by Daniela Kubesch In the fast-paced world of web development, it's easy to get caught up in the latest frameworks, libraries and cutting-edge technol [...]

The Form Attribute - Enhancing Form Layout Flexibility ๐Ÿ”—

by Alexander Muzenhardt Consider a scenario where you have a login form containing two input fields with corresponding labels, alongside a submit and [...]

You don't need JavaScript for that ๐Ÿ”—

by Kilian Valkhof Hello, my dear friend of RSS! This post contains interactive demos. You may want to read it on the website. Please don't feel antago [...]

The UX of HTML ๐Ÿ”—

by Vasilis van Gemert Recently when I gave a coding assignmentโ€Šโ€”โ€Šan art directed web page about a fontโ€Šโ€”โ€Ša student asked: does it have to be semantic [...]

Preventing form submission with zero Javascript ๐Ÿ”—

Want to trigger an action? Use a button element. Theyโ€™re great. Want to also prevent form submission when someone clicks that button? Put down the Jav [...]

Enforcing better HTML markup with Eleventy ๐Ÿ”—

While what we mean is usually very clear to us, others may decode our messages differently from what we intended. This is especially true on the web, [...]

What is the Difference Between Alternative Text, Long Description, and Caption? ๐Ÿ”—

When it comes to adding images on the web, you need to consider how to make them accessible and understandable to everyone. Which means you need to in [...]

A Theory of Web Relativity ๐Ÿ”—

The rel attribute has the potential to take the Internet to the next levelโ€ฆ and yet, we usually forget about it. Imagine a city where people guided th [...]

Common nesting issues in HTML ๐Ÿ”—

HTML is such a lovely language. Browsers will almost always display something for you, no matter what you put in the HTML document. Heck, you could om [...]

Do you know color-scheme? ๐Ÿ”—

Do you know of color-scheme yet? If not, I bet you still think you do. It will certainly look familiar, as prefers-color-scheme has been around for lo [...]

Mini-guide to add an image ๐Ÿ”—

Adding an image with HTML is pretty easy, itโ€™s just a simple tag, after all, right? <img src="path/to/image.jpg" /> But when you start taking into con [...]

Modern HTML as a foundation for progressive enhancement ๐Ÿ”—

Reading HTMHell, you might be aware that progressive enhancement is a thing. To sum things up, it's a way to make sure anyone gets a viable version of [...]

5 HTML elements, And a partridge in a despair tree ๐Ÿ”—

HTML is a beautiful programming language. It comes with many out-of-the-box accessibility benefitsโ€”it conveys semantic meaning to assistive technology [...]

Get that marquee โœจAeStHeTiCโœจ ๐Ÿ”—

With the current Y2K fashion trend and JLo being back together with Ben Affleck, the 2000s are having a revival this year. Many brands are jumping ont [...]

Table Like It's 2023 ๐Ÿ”—

In this article: Hello, Website Builders! A little history What is a table? Who benefits from tables? What does a table look like? What does a table s [...]

One day we'll have a fully customisable select ๐Ÿ”—

Today, I want to look at a proposed HTML feature that may end up replacing a lot of <div>s-based custom input components: <selectmenu>. CSS is awesom [...]

DOM Clobbering ๐Ÿ”—

Motivation When thinking of HTML-related security bugs, people often think of script injection attacks, which is also known as Cross-Site Scripting (X [...]

There can be only one: Options for building โ€œchoose oneโ€ fields ๐Ÿ”—

When it comes to building out forms, it sometimes seems like there are at once both too few field types and too many. This is especially true when it [...]

Dear developer, your assumptions are wrong ๐Ÿ”—

As developers, validation of user input is one of the first things we are taught. So, for example, we may think it would be a good idea to put some re [...]

You don't need HTML! ๐Ÿ”—

While browsing Mastodon late one night, I came across this excellent blog post called HTML is all you need to make a website. It describes a few websi [...]

Improving SEO without knowing where to start ๐Ÿ”—

Summary Introduction What is SEO ? Web quality with Opquast SEO-related Opquast rules Conclusion Introduction โ†‘ Colleagues sometimes ask me: โ€œHey Alex [...]

Meaningful labels using ARIA โ€“ or not. ๐Ÿ”—

If I had a dollar for every time I've had to tell someone to remove an aria-label from an interactive control that has actual visible text, I could ha [...]

Adding Complementary Performance Data to Your Site ๐Ÿ”—

Getting performance data from real users can transform assumptions about how a user experiences a site into objective, actionable information. In the [...]

Reading the meter ๐Ÿ”—

The <meter> element is a little known and rarely used semantic element. It's a non-interactive form element that renders as a partially filled horizon [...]

Landmarks and where to put them ๐Ÿ”—

Heading elements (h1 through to h6) are used to give structure to the content of your page. They're important for SEO, make your pages more readable a [...]

Using SRI to protect from malicious JavaScript ๐Ÿ”—

At some point of developing a website, there might come a time where we need to progressively enhance using JavaScript. There are few different option [...]

You Don't Need ARIA For That ๐Ÿ”—

In web development, writing semantic HTML is important for accessibility, and also provides some nice side effects such as supporting browser "reader" [...]

How to transfigure wireframes into HTML ๐Ÿ”—

Soon enough in your career as a web developer, you encounter the situation where a designer hands over a wonderful web design in all its large-screen [...]

#32 almost a proper close button ๐Ÿ”—

Bad code <button display="flex" role="button"> <svg role="img" viewBox="0 0 13 13" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" height="15p [...]

#31 additional โ€œassistanceโ€ ๐Ÿ”—

Bad code <a href="/contact" aria-label="If you find that you need additional assistance in navigating or accessing the content of this website, ple [...]

#30 Bullet โ€œlistโ€ ๐Ÿ”—

Bad code <p> โ€ข HTML <br> โ€ข CSS <br> โ€ข JavaScript </p> Issues and how to fix them Use <p> for paragraphs, not lists. The standard way for cre [...]

#29 Randomly grouping content ๐Ÿ”—

Bad code <section> <aside> <div> <section> <header> <a href="/"> <img src="logo.svg" alt="Logo"> < [...]

#28 alert level 1 ๐Ÿ”—

Bad code <h1 aria-busy="true" aria-live="polite" role="alert" class="sr-only"> Done </h1> Issues and how to fix them The element is used for communi [...]

#27 <a6> ๐Ÿ”—

Context: Visually a list of links. Bad code <h6>Popular Cities</h6> <div> <h6 class="footerLinks">Amsterdam</h6> <h6 class="footerLinks">Rotterd [...]

#26 HTMHell special: tasty buttons ๐Ÿ”—

The second HTMHell special focuses on another highly controversial pattern in front-end development: ๐Ÿ”ฅ the burger button. ๐Ÿ”ฅ The burger button and hi [...]

#25 A link is a button is a link ๐Ÿ”—

Note: We've removed most classes to improve readability. Bad code <a tabindex="0" type="button" href="/signup" role="link"> <span class="focus" ta [...]

#24 A placeholder is not a label ๐Ÿ”—

Bad code <input type="text" placeholder="First name"> Issues and how to fix them Every form input element needs a label. When screen reader users acce [...]

#23 A card pattern ๐Ÿ”—

Bad code <article> <div> <div class="sr-only">Image</div> <img src="/feature-teaser.png" alt="Feature teaser" /> </div> </article> <div> [...]

#22 the good olโ€™ div link ๐Ÿ”—

Context: A link to another page. Bad code <div>About us</div> <div onClick="location.href='about.html'"> About us </div> <div data-page="aboutus" da [...]

#21 Legendary legend! ๐Ÿ”—

Context: A button that expands and collapses a section of text. Bad code <button class="panel-heading" tabindex="0" href="#collapse0" aria-expanded="t [...]

#20 HTMHell special: close buttons ๐Ÿ”—

This first HTMHell special inspects one of the most complicated and most controversial patterns in front-end development: ๐Ÿ”ฅ the close button. ๐Ÿ”ฅ In m [...]

#19 heading in the wrong direction ๐Ÿ”—

Context: A simple page that displays the availability of a product. Bad code <h1>Product Status</h1> <h2>Is the product available?</h2> <div> <h3> [...]

#18 main divigation ๐Ÿ”—

Context: The main navigation of a personal website. Bad code <div class="nav"> <div> <div>about</div> <div>thoughts</div> </div> </div> Is [...]

#17 inaccessible cards ๐Ÿ”—

Context: A list of linked cards, each with heading, image, and teaser text. Bad code <section> <section> <h2>Overview</h2> <figure class="ca [...]

#16 alt, no waitโ€ฆ, aria-label, no waitโ€ฆ, alt ๐Ÿ”—

Context: A list of images that link to detail pages. Bad code <a tabindex="0"> <div alt="Browser Wars: The Last Engine" aria-label="Browser Wars: Th [...]

#15 letter by letter ๐Ÿ”—

Bad code Letters are wrapped in divs to animate each letter with JavaScript. <h3> <div style="display: block; text-align: start; position: relative; [...]

#14 not my type ๐Ÿ”—

Bad code <a type="button" class="button" href="/signup" tabindex="-1">Sign up</a> Issues and how to fix them The type attribute has no effect on the s [...]

#13 link or label ๐Ÿ”—

Bad code <input type="checkbox" id="accept" required> <label for="accept"> <a href="/legal"> I accept the confidentiality policy and dataโ€ฆ </a> </la [...]

#12 accessible poll yes/no ๐Ÿ”—

Bad code <form role="form"> <h2>Poll title</h2> <div id="pollQuestion">Is this accessible?</div> <div name="pollGroup" role="radiogroup"> <d [...]

#11 The trigram for heaven ๐Ÿ”—

Bad code <span class="nav-toggle"> โ˜ฐ Menu </span> Issues and how to fix them A screen reader may announce this as trigram for heaven menu, because โ˜ฐ i [...]

#10 <section> is no replacement for <div> ๐Ÿ”—

Bad code <section id="page-top"> <section data-section-id="page-top" style="display: none;"></section> </section> <main> <section id="main-content [...]

#9 Cookie Consent from Hell ๐Ÿ”—

Bad code <body> <header>โ€ฆ</header> <main>โ€ฆ</main> <footer>โ€ฆ</footer> <div class="cookie_consent modal"> <p>We use cookiesโ€ฆ</p> <div c [...]

#8 anchor tag used as button ๐Ÿ”—

Bad code <a href="#" onclick="modal.open()">Login</a> Issues and how to fix them If the a element has an href attribute, it represents a link to anoth [...]

#7 multiple duplicate ids and table layout ๐Ÿ”—

Bad code <table> <tr id="body"> <td id="body"> <table id="body"> <tr id="body_row"> <td id="body_left">โ€ฆ</td> [...]

#6 link with void operator as href value ๐Ÿ”—

Bad code <a href="javascript:void(1)" onClick='window.location="index.html"'>Link</a> Issues and how to fix them Links won't work, if JavaScript fails [...]

#5 button-like-link ๐Ÿ”—

Bad code <a href="#form" role="button" aria-haspopup="true"> &nbsp;&nbsp;Register&nbsp;&nbsp; </a> Issues and how to fix them Itโ€™s a link to a form at [...]

#4 link-also-button ๐Ÿ”—

Bad code <a href="https://example.com"> <button>Example</button> </a> Issues and how to fix them By nesting a button inside of a link, youโ€™re sendin [...]

#3 image-buttons ๐Ÿ”—

Bad code <img src="/images/edit.gif" onclick="openEditDialog(123)"> <img src="/images/delete.gif" onclick="openDeleteDialog(123)"> Issues and how to f [...]

#2 div with button role ๐Ÿ”—

Bad code <div tabindex="-1"> <div role="button"> <svg width="28" height="24"> โ€ฆ </svg> </div> </div> Issues and how to fix them Setting button [...]

#1 button disguised as a link ๐Ÿ”—

Bad code <button role="link" title="Name of website" tabindex="0"> <img alt="Name of website" src="logo.jpg" title="Name of website"> </button> Issu [...]