aboutsummaryrefslogtreecommitdiff
path: root/build/posts/sticky-elements/index.html
diff options
context:
space:
mode:
authorBradley Taunt <bt@btxx.org>2024-07-02 14:22:21 -0400
committerBradley Taunt <bt@btxx.org>2024-07-02 14:22:21 -0400
commit3f6a9546ec13063d0d5bdf21d30a93d3e8aa6050 (patch)
tree947985c4eda1bceb1910bc01739c32fd0baad181 /build/posts/sticky-elements/index.html
parent14074019d62d98885c4c764401a9e7e1fd129f79 (diff)
Rebuild changes based off latest barfHEADmaster
Diffstat (limited to 'build/posts/sticky-elements/index.html')
-rw-r--r--build/posts/sticky-elements/index.html74
1 files changed, 0 insertions, 74 deletions
diff --git a/build/posts/sticky-elements/index.html b/build/posts/sticky-elements/index.html
deleted file mode 100644
index a8ad9d2..0000000
--- a/build/posts/sticky-elements/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="color-scheme" content="dark light">
- <link rel="icon" href="data:,">
- <title>Stop Using Sticky Navigation on Mobile</title>
- <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" />
- <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="RSS feed for blog posts" />
-<style>*{box-sizing:border-box;}body{font-family:sans-serif;line-height:1.33;margin:0 auto;max-width:650px;padding:1rem;}blockquote{background:rgba(0,0,0,0.1);border-left:4px solid;padding-left:5px;}img{max-width:100%;}pre{border:1px solid;overflow:auto;padding:5px;}table{text-align:left;width:100%;}.footnotes{font-size:90%;}</style>
-</head>
-
-<nav>
- <a href="#menu">Menu &darr;</a>
-</nav>
-
-<main>
-<h1 id="stop-using-sticky-navigation-on-mobile">Stop Using Sticky Navigation on Mobile</h1>
-<p>2019-10-06</p>
-<p>Stop styling your web elements to be &#8220;sticky&#8221; on mobile. This creates a horrible experience for your users and also looks like trash from a UI perspective. Don&#8217;t style your navigation (or any components for that matter) to be &#8220;sticky&#8221; on mobile. They create poor experiences for your users and take away valuable screen space.</p>
-<h2 id="what-do-you-mean-by-sticky">What do you mean by &#8220;sticky&#8221;?</h2>
-<p>The concept of <em>sticky</em> elements include but are not exclusive to:</p>
-<ul>
-<li>Navigations that follow users as they scroll</li>
-<li>Chatbot prompt bubbles eating up half the bottom of the screen</li>
-<li>Banners or modal prompts that pester the user to &#8220;sign up, accept cookies&#8221; etc.</li>
-</ul>
-<p><strong>These are bad and you should feel bad for implementing them.</strong> Spacing and layout is a critical part of a product’s design and greatly impacts the experience of its users. Stop screwing it up with ugly sticky elements.</p>
-<p>First, let&#8217;s breakdown &#8220;sticky&#8221; navigations and why they&#8217;re terrible. We&#8217;ll also go over some easy solutions to avoid making these bad design decisions in the first place.</p>
-<h2 id="the-stalking-navigation">The stalking navigation</h2>
-<p>When you make a decision to eat away <code>&#62;50px</code> of space at the top of the page for your site&#8217;s navigation - you&#8217;re hurting your users. You&#8217;re also making their time interacting with your website more painful.</p>
-<p>&#8220;Wait!&#8221; I hear sticky-nav defenders exclaim, &#8220;this navigation bar makes it so the user can <em>easily</em> interact with the site&#8217;s pages!&#8221;</p>
-<p><strong>What absolute rubbish.</strong> A user should only see a website&#8217;s navigation when they <em>need to use it</em>. This isn&#8217;t rocket science.</p>
-<p>Let&#8217;s a take a look at the problem:</p>
-<p>Knowing when to show navigation can be easily solved where the user isn&#8217;t bogged down with a chunk of their screen permanently taken away, all the while still having access to the navigation. This can be fixed by simply understanding the user context at a given time. See below:</p>
-<p>Here the navigation flows up with the rest of the page as the user scrolls the main content into view. Don&#8217;t worry about creating confusion - the user knows the navigation is still at the top of the page because they <em>watched it scroll out of view</em>. This is best paired by having a matching navigation in the footer of the page as well. That way, when the user makes it to the end of a specific view they can change pages right in the &#8220;footer&#8221;. No need to scroll back to the top.</p>
-<h2 id="the-best-of-both-worlds">The best of both worlds?</h2>
-<p>Maybe you want to hide the navigation without losing the flexibility of it always being accessible at the top of the page? This is possible, although I find it still <em>somewhat</em> intrusive on the user. An easy way achieve this is by displaying the navigation when users perform a specific action, such as:</p>
-<ul>
-<li>Long or multiple upward swipes on the page</li>
-<li>Pull down menu from top of current view (easily shown to user)</li>
-</ul>
-<h2 id="navigations-arent-the-only-culprits">Navigations aren&#8217;t the only culprits</h2>
-<p>I wish that navigation items were the only sinners of the &#8220;sticky&#8221; position on mobile - but they are not alone. A few other problematic components include:</p>
-<ul>
-<li>Chatbot or support &#8220;bubbles&#8221;</li>
-<li>&#8220;Agree to our cookies&#8221; prompts</li>
-<li>Time-based pop-up modals</li>
-</ul>
-<p>Every time you implement one of these components, somewhere in the world a puppy dies. Seriously - don&#8217;t be part of the problem and build these things. Push back on &#8220;marketing research&#8221; or team leads who tell you that this crap works. You&#8217;re making the mobile web worse for everyone and setting a terrible precedent for future developers.</p>
-<p>Stay <em>static</em>, my friends!</p>
-<footer role="contentinfo">
- <h2>Menu Navigation</h2>
- <ul id="menu">
- <li><a href="/">Home</a></li>
- <li><a href="/projects">Projects</a></li>
- <li><a href="/uses">Uses</a></li>
- <li><a href="/wiki">Wiki</a></li>
- <li><a href="/resume">Resume</a></li>
- <li><a href="/colophon">Colophon</a></li>
- <li><a href="/now">Now</a></li>
- <li><a href="/donate">Donate</a></li>
- <li><a href="/atom.xml">RSS</a></li>
- <li><a href="#top">&uarr; Top of the page</a></li>
- </ul>
- <small>
- Built with <a href="https://barf.btxx.org">barf</a>. <br>
- Feeds: <a href="/atom.xml">Atom</a> & <a href="/rss.xml">RSS</a><br>
- Maintained with ♥ for the web. <br>
- Proud supporter of <a href="https://usefathom.com/ref/DKHJVX">Fathom</a> &amp; <a href="https://nextdns.io/?from=74d3p3h8">NextDNS</a>. <br>
- The content for this site is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>.<br> The <a href="https://git.sr.ht/~bt/bt.ht">code for this site</a> is <a href="https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE">MIT</a>.
- </small>
-</footer> \ No newline at end of file