-
<b>and<i>are good.<center>is excellent. Inline styles are fine and sometimes preferable, such as when you are styling only a single element, the styles will not be reused across pages, or you want the page to be easily saved and shared as a single file. -
Client-side JavaScript is often better than server-side dynamism. Server-side is opaque and apt to disappear with the site, but client-side is easily inspected, changed, copied, and reused. The burden placed on clients is also a privilege. (However, scripting should only be used for applications, which should be a tiny fraction of webpages.)
-
Accesskeys are great. Conflicts with other keys are the fault of the user's environment, not the website. (However, attempting to override normal keyboard behavior like ctrl+C, ctrl+V, ctrl+F, etc., is grounds for execution by firing squad.)
-
Alt text should not be highly descriptive. Succinctness is valuable.
-
You should generally support HTTP and not force connections to upgrade to HTTPS. HTTPS is the #1 reason that perfectly functional devices become incompatible with the web. Most sites that would render fine on 20 year old clients now effectively ban them by mandating HTTPS. Even more recent clients are quickly obsoleted by lack of software updates to new cipher suites. Modern browsers make it all but impossible to access HTTP, so you aren't putting anyone at risk who doesn't know what they're doing. Let us opt out of SSL.
-
It's better to avoid tags introduced in HTML5. They mostly cause incompatibility while bringing nothing to the table, as they are merely aliases of existing tags. If your page needs that disambiguation, it's probably too complicated. Semantic HTML is a myth.
-
Icons should be avoided, and should always be accompanied by a text label. Icons are ambiguous, inaccessible, and usually completely superfluous.
-
Don't use emoji or fonts for icons. Avoid webfonts entirely, and if you must use them, serve them yourself to protect user privacy. Try to stick to generic families --- a "stack" is a waste of time.
-
There's actually nothing wrong with a wide layout, even full width. Some people want to use all of their screen real estate. It's always better for a page to be too wide than too skinny: you can shrink your browser window if it's too wide, but too-skinny pages are stubbornly resistant to user preference.
-
position: stickyandposition: fixedbelong in hell along with:hover, scroll fade, scroll snap, hamburger menus, and JavaScript frameworks. -
There's nothing wrong with
#FFFbackground and/or#000text. Dark mode background should always be#000(for AMOLED screen users).
