Why website body text should be bigger
blog.marvelapp.com
blog.marvelapp.com
http://i.imgur.com/cmrn7wB.png
So much empty space on that page, let's put the facebook link in the worst place possible!
EDIT: It's funnier in this case because (based on my limited experiences) this sort of fixed positioned social media bar grew out of mobile websites that were constantly fishing for shares, but this particular site has realized they're annoying and put it in the top header instead. It's only on desktop that we get the fixed position floater.
That's what I do when I'm making a responsive website - I'm constantly changing browser width to make sure it works at all sizes.
It's not enough to just check for the @media sizes - you also need to check the sizes in between in case boxes get shrunk too small to fit their content.
Also, since I tend to use React/Redux lately, I inject size/scroll into my state and use that as a basis for those decisions in controls as often as I'll use CSS/JSS alone anymore.
As with most such bars, it breaks scrolling one screen at a time using Space or Page Down. So I get to read:
"Now, I’m not saying that small typography is bad. An 18px font is perfectly legible"
[press Space]
"captions, cards and other UI elements, but there’s good reason to increase it a few more notches for body text."
Fixing this is entirely doable - nytimes.com has a fixed navbar but Space still scrolls <1 screen at a time. I would expect better from a screed like this which proclaims "Scrolling is a natural, established pattern on the web - people expect to have to scroll."
javascript: (function%20()%20{var%20i,elements=document.querySelectorAll('body%20*');%20for%20(i=0;i<elements.length;i++)%20{if%20(getComputedStyle(elements[i]).position==='fixed'%20||%20getComputedStyle(elements[i]).position==='sticky')%20{elements[i].parentNode.removeChild(elements[i]);}}})();
Anything on the page styled as position: fixed or position: sticky is deleted. Cleans those things right up.
Thanks.
I disagree with the article's assertion that larger text is more readable. In my own experience, I find that readability is reduced when scrolling occurs. Increase the amount of scrolling, decrease the readability.
Furthermore, given how web-pages are getting heavier and slower to load, I doubt any of these designers are really serious about designing for mobile at first place (I don't buy the "management wants tons of analytics" excuse).
> As others have said elsewhere in this thread, I can (and do) use the zoom function when necessary.
If a website doesn't allow you to zoom in the text, it's a design mistake,no more no less.
If I have a lot of meaningful content, say essays of 5,000 - 10,000 words or novella-length fiction, a 20px+ is going to make the page-length ridiculous. But sure, if you can only be bothered to churn out 100 words of copy and you want your page to not look like a content-desert then 20px+ font and giant margins are your friend.
I've actually resorted to using a chrome plugin that switches <p> tags to black when you click its icon just so I can read fancy shmancy designed blogs.
Edit: In case it's of any use to you, the one I'm currently using is Darken Text[0]. There's probably extensions out there that let you switch out colours automatically but my day job involves web dev/design, it'd be very confusing if I used an extension that messed with colours automatically
[0] https://chrome.google.com/webstore/detail/darken-text/kmonkh...
If you, designers or developers, have any any doubt, please please please check the contrast on your site's text. :)
This brings it down to normal text size comparable to a comfortable-to-read novel page size on my screen.
Comparing to WaPo, they unwisely have 100+ chars per line at that immense size. I've stopped reading the site at all because the balance of the width and font size combo is too much work. Most of the others have wisely kept to 60-80 chars per line, and scaling works to read them, but all feel a bit too large.
If yes, consider trying running with your browser non-maximized, and set to about 1/2 the width of your 24" monitor. The lines will not be so long that way.
<p class="pageWrap pageWrap--s marginBottom-m paddingBottom-s c-slate lineHeight-l fontSize-l fontWeight-3 breakPointM-fontSize-xl breakPointM-lineHeight-xl">...</p>
and of course
<strong class="c-slate lineHeight-l fontSize-l fontWeight-5 breakPointM-fontSize-xl breakPointM-lineHeight-xl">9–14px</strong>
Seems a bit excessive, perhaps we could use a document to store all these classes in an organized fashion and then just refer to them by some sort of tagging system. We could link to that document from multiple pages, even, and change it without changing the base markup at all.
Each class is one CSS property, where it would be literally less verbose to just inline them. It's exactly the same thing as doing style="prop: value; prop: value;" since to change a given area of text from grey to black you'd have to edit every single element the same way.
But I don't want to have to scroll every 5 seconds, either. I start to feel like I'm reading a children's book.
I don't want to have to keep scrolling through seven pages of double-spaced text of which a mere eight lines takes up the whole damn page.
I got a monitor with more resolution so I can do more with my workspace, not so that you can take up more space. People like this are a big reason why I literally hate the web.
As an artist, I absolutely agree with all the design arguments about readability etc. But that stuff doesn't need to be on the server side. I really resent being forced to download tons of design data whenever I visit a web page instead of being able to set preferences and have the computer present text in the way I actually want to see it. Many websites are horribly crufty and ugly, and make my reading experience worse.
You know what else I hate? Web pages that are so in love with their print ancestors that the text is squeezed into a narrow column and almost 2/3 of my screen is white space. So I have to keep scrolling endlessly because you can't figure out how to flow text into two columns.
In an ideal world text sizes should be set in em and rem and body text sizes should be user adjustable to preference.
Result of that particular decision is the mess we have with length units at the moment on the Web.
On monitor with physical 110 PPI resolution 1px is physically smaller than on "classic" 96 PPI monitor.
As a result no one can predict what will be the size of this:
div {
border: 1px solid;
width:100mm;
height:100mm;
}
everything but not 100mm square.In Sciter Engine (https://sciter.com) I've fixed this by applying three simple principles:
a) all logical length units are distances measured on device surface. Thus 100mm div rendered on screen will be 100mm when measured by the ruler put on monitor's surface. Same is while printing on paper.
b) 1px is always one device pixel - so we have hairlines for example. And so dimensions of bitmap images can be expressed with their natural resolution.
c) 1dip logical length unit (device independent pixel) was introduced for the convenience. 1dip == 1/96in - that is close to 1px in browsers.
Without all these using existing browsers for UI of desktop applications is quite questionable.
Even for mobiles ... main pointing device is a finger. It shall be the way to say: "this button shall is touchable by finger - so be precisely of 0.5in measured EXACTLY on screen surface".
Still, I could potentially agree with the overall sentiment that slighter larger default sizing might be good.
But I find the presentation of this argument ironic thanks to poor body contrast:
background-color: white;
color: rgb(60, 72, 88);
Pulling the body color numbers down to increase the contrast made it immensely more readable for me. Unfortunately, while browsers have decent zoom controls, they don't have contrast controls without plugins. So designers should be especially careful to not specify insufficient contrast. (Aside: I generally find light text on slate backgrounds even easier on my eyes.)With text reflow users can zoom to the font size they read best and the designer doesn't have to try guessing the right one.
Control + pretty much solves the problem on desktop.
And yes, if my pressing command-+ fucks up your display that's your problem and makes me far more likely to close the tab.
The two websites I read most are Hacker News and Reddit. My terminal font size is 11pt and my code editor font size is 10pt. Most macOS interface text looks like it's either 11pt or 13pt.
I have a retina MacBook Pro and I set the display setting to "More Space" (look like 1920x1200). Sometimes I might switch to "Default" (looks like 1440x900) for a while, e.g. when watching TV. But if I wanna do anything serious I need the screen space.
I've been using Safari as my primary browser recently, and it has a Reader mode, which I use when documents have hard to read colors or poor typography.
That's what they're there for.
Please stop doing this, designers! - not that any of you have ever cared what I think.
One of these days, "retro" websites might seem cool again. Just gotta wait.
At the very least, using the whole screen real estate, you could display two pages side by side, like a book. Less scrolling, faster reading, more comfortable fonts and sizes. BUT EGADS! WHERE WOULD WE PUT OUR ADVERTISING!!!!!
javascript:(function(){var%20all=document.getElementsByTagName("");for%20(var%20i=0,max=all.length;i<max;i++){all[i].style.fontWeight='400';};void(0);})();
This bookmarklet takes care of the light gray problem:
javascript:(function(){var%20newSS,%20styles='%20{%20background:%20white%20!%20important;%20color:%20black%20!important%20}%20:link,%20:link%20%20{%20color:%20#0000EE%20!important%20}%20:visited,%20:visited%20%20{%20color:%20#551A8B%20!important%20}';%20if(document.createStyleSheet)%20{%20document.createStyleSheet(%22javascript:'%22+styles+%22'%22);%20}%20else%20{%20newSS=document.createElement('link');%20newSS.rel='stylesheet';%20newSS.href='data:text/css,'+escape(styles);%20document.getElementsByTagName(%22head%22)[0].appendChild(newSS);%20}%20})();
If you care about readability, maybe stop using Web Fonts. They may look fine on your Mac, they're crap everywhere else.
y-you caught me...
A website should not ever bother with body text size at all.
A website should display its body text in the size that the browser specifies, and that's it (with the exception of adapting for a generally smaller or larger typeface).
It's completely braindead that nowadays, on my old, small laptop display, I get websites displaying huge letters, because those supposedly are somehow the right size on other displays. The resolution of my laptop hasn't changed in ten years, so why the fuck does anyone think it's sensible to make the letters larger?
Yes, new devices have higher resolutions. And you know what the solution to that problem is? It's called CSS. CSS has the concept of a browser/user stylesheet, which provides sensible defaults for the respective environment for you to inherit, which should mirror stuff like display resolution, but also, indirectly, the eyes of the users.
That's kindof the whole point of CSS, that you can abstract from that, and have the respective renderer take care of adapting your content to the environment, so that your website reads equally well on a decade-old laptop, on a new and shiny tablet, or on a 100" monitor.
And it's especially braindead because the only fix on my side would be to pretend that I'd like to read 5 px text, in order to have those braindead website become readable again ... except that then, sensible websites would take that seriously and would display their text in 5 px letters.
p {font-size: 10pt !important;}