The Breakroom

Meet Ollie’s Extended Family

November 6, 2018

By Ged Maheux

Today we’re pleased to offer Twitterrific updates for both macOS and iOS with several new custom application icons to change how Twitterrific appears on your macOS Dock or your iOS home screen. There are three new Ollie variants including Raven, Cardinal and Goldfinch which bring a new splash of color and make Twitterrific really stand out in a sea of boring, flat pixels.

The various custom Twitterrific icons that are available in today's macOS and iOS update

On the iOS side we’ve also added two additional variants that include a pure black background for all of you iPhone X and XS users out there that want to show off that gorgeous OLED screen. These new black-background icons blend right into the home screen and help make your favorite Twitter client feel brand new.

Twitterrific's Preferences showing the new color-coded tweets option turned off

That’s not all! Twitterrific has always color-coded mentions, replies and your own tweets so they are quick to spot when scrolling through your timeline. We personally enjoy the clarity of color-coded tweets, but we also realize that not everyone does. If you’d rather they all looked the same, we now have a new presentation option for you.

Today’s cross-platform update includes other improvements like visual tweaks for Apple’s awesome new iPads, profiles that show the date the user first joined Twitter, and several important bug fixes. Be sure to check the macOS and iOS App Stores for the latest and update your copy today. Enjoy!

Dark Mode and CSS

October 25, 2018

By Craig Hockenberry

The new Dark Mode in macOS Mojave provides users with a new way to customize their desktop environment. It also presents a lot of new situations where developers need to adapt content in their apps and websites.

While these changes are currently limited to native macOS apps, the arrival of Marzipan next year makes it likely that iOS developers will be confronted with similar changes in UIKit. A dark user interface would be a reality on all of Apple’s platforms, including tvOS and watchOS.

These changes also ripple out to web developers who are creating apps or site content that can look out of place when surrounded with dark interface elements. Some sites are using switchable themes: MacStories is a great example (use the contrast icon in the upper-right corner.)

So let’s take a moment to see where things are now, where they’re headed in the near future, and look at strategies for adapting content presentation.

Code Changes

Dark Mode has been on developers’ minds since its introduction at WWDC 2018. And since it’s an extension of the dark and light AppKit appearances that debuted in Yosemite, the consequences of this new user interface are already well understood.

For more information on what these changes mean from a Mac developer’s point of view, I recommend Dark Side of the Mac by Kuba Suder and Supporting Dark Mode by Daniel Jalkut.

Both these series cover the changes you’ll be making in the views, controls, and images throughout your app. UIKit developers can consider this information a preview of WWDC 2019 :-)

Enter WebKit

Apps on macOS have been able to embed WebKit since its introduction. Adding web content to native apps was one of its major design goals: an app called Safari was the the first one to use the new framework.

Over the years many developers, both on macOS and iOS, have taken advantage of this framework for one simple reason: HTML and CSS are a great combination for presenting content.

So it would make sense that all this cool new Dark Mode stuff would be available in WebKit, right? Nope, and making it happen is more difficult than you’d initially suspect.

Sometimes You Feel Like a Nut

Web content has to exist in many different contexts. In applications you want content that matches the surrounding native frame. With apps like the App Store, it’s hard to tell where the native code ends and the web code starts. In this situation, you want web content to respect the user’s theme choice in System Preferences.

The last post in Daniel’s series addresses the issue of adapting WebKit to an app’s needs. You’ll see how he’s watching for system changes and adapting the markup for an about box.

While this proposed solution works great for a small amount of markup, injecting code into HTML won’t scale well for richly styled content. His approach also makes it difficult for a designer: they can’t work directly with HTML and CSS files.

Sometimes You Don’t

This adaptability has a downside for the majority of web content: the environment created inside the main browser frame usually exists on its own and wants to ignore Dark Mode. For example, you wouldn’t want a dark form control to suddenly appear on Wikipedia because of a system preference change. And where is the boundary between content and chrome: should a scrollbar color match the markup or the browser where it’s presented?

Before you answer, consider these diverse viewpoints. The question is simple, the answer is not.

A New Standard

Luckily the standards groups have been debating this issue for the past several months and have settled on a new media query called prefers-color-scheme. It’s not available in any shipping browser yet, but thanks to the WebKit team, it just landed in the new Safari Technology Preview.

After downloading Release 68 and making sure that Dark Mode CSS Support is turned on in the Develop > Experimental Features menu, you can do this in your CSS:

div {
  background-color: pink;

@media (prefers-color-scheme: light) {
  div {
    background-color: yellow;

@media (prefers-color-scheme: dark) {
  div {
    background-color: purple;

As you switch in and out of Dark Mode, the div will change color. If you need a more interactive approach, say to show a theme-switching control at page load, you can use JavaScript to check the media query string:

var inDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;

A related standard for supported-color-schemes is still being worked out. The idea behind this new meta tag is to give authors control over how colors switch automatically for form controls, scrollbars, and system colors like ButtonText. Its current implementation in WebKit looks like this:

<meta name="supported-color-schemes" content="light dark">

Whether this stays as a meta tag or becomes a CSS property is still being debated. It’s definitely something you want to keep an eye on if you use native controls on your site.

With these changes, Dark Mode now becomes another aspect of responsive web design. As with device dimensions or color, the user’s environmental choices must be taken into account. Instead of adapting elements to viewport changes, you’ll be changing designs to match the user interface chrome outside that viewport.

Semantic Style

The problem now becomes logistical: there are a lot of color and image properties in our CSS. Do you really want to duplicate all those definitions for a dark theme? Or make changes in two places? Hell no.

The solution is to start thinking about color differently.

One of the things that made the switch to Dark Mode easier in macOS was its semantic treatment of color. There are variables like labelColor, windowBackgroundColor, and controlTextColor used to represent color values. Without knowing anything about macOS development, you can probably guess what these definitions look like. You’ve just started thinking semantically.

When you’re dealing with light and dark variations of a color, it’s a lot easier to think of “text color” and not worry about whether it’s currently rgb(0,0,0) or rgb(255,255,255). It also helps when you’re dealing with a site’s branding: I can remember “Iconfactory branding color” but never rgb(229,36,30).

This, of course, can be extended to images. If you’ve got a button image that changes depending on context, just call it “refresh icon” and forget about the url().

Variables to the Rescue

Luckily, a new CSS feature that’s starting to see wide browser adoption is available to make this dream a reality. Hello CSS variables.

There are a lot of options, but start with the :root pseudo-element as a container for your variables. This is what it looks like:

:root {
  --branding-color: rgb(229, 36, 30);

And once you have that variable defined, you can use it anywhere in your CSS:

header {
  background-color: var(--branding-color);
footer {
  background-color: var(--branding-color);

You’re not limited to using just colors, either. These variables can be used for font lists, URLs, and any other property type.

Pretty awesome, especially when marketing decides they want to change your branding color, logo, and font face!

Picking Out the Pieces

There’s nothing preventing you from having more than one container for your variables, so we can extend this facility to support themes. First, we’ll use two CSS files. One called dark.css:

:root {
  --text-color: white;
  --page-background-color: black;

And another called light.css where we switch the colors around:

:root {
  --text-color: black;
  --page-background-color: white;

In a shared.css file, you use these definitions as needed:

body {
  color: var(--text-color);
  background-color: var(--page-background-color);

To switch themes, you tell the DOM which theme file to use. You might do this server-side by looking at a preference setting in a cookie and emitting the right <link> element. But the user experience is probably better if you use JavaScript to manage the stylesheet:

<link id="theme" href="style/light.css" ... />

<script type="text/javascript">
  function switchThemes() {
    var e = document.getElementById('theme');
    if (e.getAttribute('href') == 'style/light.css') {
      e.setAttribute('href', 'style/dark.css');
    else {
      e.setAttribute('href', 'style/light.css');

<button onclick="switchThemes();">Switch</button>

If needed, the browser can switch themes according to the user’s system preference. When the media query becomes available, use it to wrap your variable definitions and you’re good to go:

@media (prefers-color-scheme: light) {
  :root {
    --text-color: black;
    --page-background-color: white;
@media (prefers-color-scheme: dark) {
  :root {
    --text-color: white;
    --page-background-color: black;

Note that if you need to support themes on older browsers, you can use tools like Sass or Less to accomplish something similar. Variables are used to generate multiple CSS files which can then be switched using the <link> URL.

In our experience, the two hardest parts of all this are coming up with semantic names and colors that work well in both dark and light settings. It’s more of a design problem than a technology issue. If you need help, we’re here to help. We’ve been dealing with these issues for years, both in apps and on the web, and want to share our experience making award-winning products.

Adding Polish

This is already pretty great, but we can make it even sexier with CSS animation. In the browser it adds a level of finish; in an app it lets you match the animation in AppKit layers.

To make the job easier, we’ll again rely on CSS variables. Making the animation configurable ensures that animations stay in sync and lets you experiment or debug with ease. Here’s an example of the variables you might use:

:root {
  --duration: 1.0s;
  --timing: ease-in-out;

And they’re used to animate color changes in the document:

body {
  transition: color var(--duration) var(--timing),
              background-color var(--duration) var(--timing);

Note that transitions only apply to the element where they’re defined or inherited. If you set colors on another element, like a <button>, you’ll need to create a transition on that element, too. Thanks to color variables that start with two dashes, it’s easy to search for them in your markup.

Pesky Scrollbars

This whole treatise got its start with some Halloween decorations. Every year we do something fun at the Iconfactory and this year I noticed a problem. The scrollbars looked bad in the new macOS Dark Mode, so I worked around it with CSS to make them scary.

Scrollbars have been customizable in WebKit for almost 10 years. Unfortunately, this mechanism never saw standards acceptance and has retained the “-webkit-” vendor prefix.

The ::-webkit-scrollbar pseudo-elements used to configure the scrollbars still work in Chrome and Safari, but they’re buggy. They don’t animate along with the content and don’t hide when the user has a trackpad or other physical scrolling mechanism. I don’t recommend using them, and neither does the CSS working group:

The WebKit implementation of pseudo-elements for scrollbar is considered to be a feature mistakenly exposed to the web.

After deploying our decorations, I showed one of the members of the WebKit team the screenshot below and asked what was going on.

The white-belt-with-dark-pants look at Daring Fireball is something being worked on – some of the changes in WebKit require an update to the scrollbars that AppKit provides. This problem can only be addressed by a macOS update.

My earlier question about who owns the scrollbars at the boundary between web content and a native app is indeed a difficult one.

The good news is another new standard called scrollbar-color has been proposed. It includes four choices: auto, dark, light, and custom. The choice of auto lets the browser decide what’s best, or you can use light and dark to adapt them to the content you’re presenting.

The custom option lets you specify two colors: the first is for the scrollbar thumb, the second is for the track. There’s also a scrollbar-width in the proposal that allows you to size the scrollbar. Here’s an example using CSS variables:

section div.container {
  scrollbar-color: var(--thumb-color) var(--track-color);
  scrollbar-width: var(--width);

These features are still in flux, but it’s clear to me that the standards bodies are aware of the problem that web authors are currently facing with scrolling content.

Putting it All Together

We’ve covered a lot of topics in this piece, but these thousands of words are indeed worth a picture: in a simple demo. (You saw a preview in the animation at the top of this post.)

The page itself isn’t remarkable: just a single new meta tag and some simple JavaScript. The good bits are in the CSS file that uses the theme variables. There are a lot of comments and links, so take your time going over the source code.

As always, remember that we’re here to help, either with design or development services. We love making great looking products, no matter if they’re dark or light!

Caring is Sharing

October 24, 2018

By Webmaster

Sharing from the Finder with Twitterrific's new sharing extension

No matter what some people think, there are some things that a native app can do better than the web. One of those things is providing a system-wide sharing extension.

With the release of Twitterrific 5.3.7 for Mac, we’re happy to announce that we now fully support sharing. After downloading the update, you’ll need to enable it in System Preferences (under Extensions > Share Menu). After that you’ll see Twitterrific show up in when you click on the sharing icon.

Another thing we’ve done to embrace System Preferences is add new timeline theme options that follow your current Light and Dark Mode setting. It’s perfect for folks who use utilities to automatically switch based upon location or time of day.

For a full rundown on what’s new, including important changes in the About box, check the version history. If you’re not already a customer, check out the features or download the app today!

The Darkest Time of Year

October 16, 2018

By Craig Hockenberry

App icons of all our Mac apps lined up on the chopping block with a cleaver through the skull of Twitterrific's Ollie. Sad birdie!

For over 20 years, we’ve been celebrating our favorite holiday on the Iconfactory home page. Yes folks, it’s that time of year again: Halloween!

It all started long ago with The Great Pumpkin and we haven’t looked back. If you love this holiday as much we do, there’s a page that will give you an endless source of joy. And terror.

But one thing makes this year even better than ones in the past: our site decorations are to die for, thanks to macOS’ new Dark Mode! (Be careful around the new scrollbars, you might get cut.)

So we’ve decided to do a killer sale on ALL our Mac apps and celebrate Mojave’s turn to the dark side. For the next week, you can get these great apps at prices that are CUT IN HALF:

  • xScope — Measure. Inspect. Test. $25 savings
  • Twitterrific — Tweet your way. $4 savings
  • Flare — Your photos are just the beginning. $5 savings
  • iPulse — Keep an eye on your Mac. $5 savings
  • Linea Link — Works hand-in-hand with powerful sketching apps. $2 savings

And here’s one final treat: after you turn on Dark Mode, set your Accent color to orange in the General panel of System Preferences. Boo yah!

All Linea Systems are Go!

September 26, 2018

By Webmaster

Picture of all Linea apps

Many of you have been waiting eagerly for today’s release of Linea Go. We’re pleased to announce immediate availability of our popular drawing app on the iPhone! If this is the first you’re hearing about Linea, check out what it’s like to have a sketchpad in your pocket.

In our announcement for the pre-order, you might have noticed that we mentioned new features like broadcasting. The phone’s aspect ratio also means new canvas sizes. We’re happy to say that all this functionality, and more, is on the iPad in today’s release of Linea Sketch.

Our goal is to make apps whose capabilities are the same no matter which device you’re using. There are a few small differences between the platforms and we’ve covered them in our updated Tips & Tricks page. Take a quick look and you’re sure to learn something new!

With this week’s release of Mojave on macOS, you won’t be surprised to hear that we’ve updated Linea Link to be compatible with Dark Mode. It’s also now able to handle any documents you create on your iPhone.

For an overview of all the products and how they work together, check out the Linea product site. Enjoy the launch!

Darkness This Way Comes

September 24, 2018

By Craig Hockenberry

Flare running in macOS Mojave with the dark theme in all its mysterious beauty

Wait a second… It’s not October yet, so what’s with the spooky title? A new version of macOS, that’s what!

As you’ve probably heard, the latest version of our favorite OS has a fantastic new Dark Mode and we’re pleased to announce that we have a bunch of updates to support this new feature.

Flare was designed from the start to work with the new dark appearance introduced in Yosemite and looks fantastic with the new content-centric desktop theme. Your photos will come to life in version 2.2.7!

We’ve also released updates for iPulse, Twitterrific, and xScope. Although these apps already have highly customized interfaces, we’ve made sure that preferences and other windows look right on the new macOS.

One app that hasn’t been updated yet is Linea Link. We’ve been busy getting a new companion for the iPhone ready and need to do some simple tune ups for device compatibility. We’re on the case and you’ll soon be able to get your iPhone drawings onto your Mac without any hiccups and with full Dark Mode support.

Thanks, as always, for your support!

Introducing Linea Go for iPhone

September 19, 2018

By Ged Maheux

Linea Go Logo and Hero Illustration - Treehouse and sunshine

On the eve of Apple shipping the most advanced iPhones in the company’s history, we’re pleased to announce a brand new version of our elegant digital sketching app. Designed specifically for iPhone, Linea Go is an amazing companion to the critically acclaimed iPad app and is now available for pre-order on the App Store.

Sketch Anywhere

When we designed Linea Sketch for iPad, we crafted it to be elegant and powerful enough to record your thoughts and ideas, but without overloading you with a myriad of tools, options, and settings that are common in other drawing apps.

Little did we know we were also laying the groundwork for Linea Go and the need to conserve real estate on a phone’s screen. The result is an app that’s always with you, simple, and ready to take notes, sketch concepts, or record ideas with either your finger or a stylus.

Linea Go's toolset

Linea Go’s concise set of tools puts focus on your work, not the interface. Choose from a small but powerful set of best-in-class drawing tools like the Art Pencil, Technical Pencil, Marker, or Pen. Effortlessly switch between pre-defined brush sizes, blending modes, and even quickly switch to Linea’s eraser with a long press of the selected tool. So easy!

Thanks to iCloud, your work is always in your pocket, ready to go. Start sketching an idea on iPhone and continue it later with Linea Sketch for iPad and an Apple Pencil. iCloud keeps your ideas in sync and provides a safe backup of your important projects.

Powerful Color

Like its iPad big brother, Linea Go offers top-notch color controls that are designed to take up minimal space while giving you the most flexibility for sketching or taking notes. Tints and shades are generated automatically, saving time and effort. Banks of pre-defined color sets let you choose a palette that’s right for the work, or you can create a new set with your own custom colors.

Be sure to visit Linea’s Tips & Tricks to learn techniques that will save you time managing colors, tools, and more.

Facing iPhones showing Linea Go's color palette interface

Watch you go!

Linea Go lets you record every movement while you work. Drawing sessions can be saved directly to your iPhone’s camera roll and make a great way to show your ideas to friends, followers, and colleagues.

Linea Go drawing with LIVE STREAMING indicator

You can also live stream to services like Mobcrush (or any other that’s compatible with the ReplayKit standard.) You can give play-by-play descriptions as you work, complete with video from the iPhone’s front-facing camera! Be sure to check out our knowledge base on how to set up live streaming in Linea.

So Much More

Linea Go includes innovative features that are designed to make sketching flexible and fun on your iPhone:

  • Landscape support lets you turn your iPhone on its side and get an aspect ratio that’s perfect for storyboarding or sketching the world around you.
  • Elegant layers let you compose drawings just how you want them: a small screen becomes expansive when you can move layered pieces around easily.
  • ZipLine provides an intuitive solution for drawing straight lines on the smaller screen of the iPhone: just hold the drawing tool still at the end and everything straightens out. Do it again and they connect to each other.
  • Quickly import images into a layer for reference or tracing. Marking up screenshots is a breeze!

Pre-orders for Linea Go will get an automatic download on your iPhone when the app becomes available on Wednesday, September 26th.

If you still haven’t tried Linea Sketch for your iPad it’s currently on sale but will be returning to its regular price with the release of Linea Go. Now is a great time to take advantage of the savings.

Have more questions? Be sure to visit the Linea Knowledge Base for answers and then head to the App Store to pre-order Linea Go for your shiny new iPhone today.

Streaming Into the Void

August 15, 2018

By Webmaster

Twitter's classic

Starting tomorrow, Twitter will begin to turn off, or deprecate, two important API’s that third party apps use to interact with their service. Twitter will start slowly phasing these features out on Thursday, August 16th, and completely shut them off by August 23rd. We’ve spoken about these changes at great length in the past but wanted to remind Twitterrific users about what is happening.

To summarize, here’s what Twitter’s changes mean for you:

  • Live streaming of tweets is ending
  • You will no longer receive native push notifications
  • Twitterrific’s Today view will no longer update

What Can I Do?

Although Twitterrific will no longer stream tweets in real time, we’ve implemented automatic refresh for both the iOS and macOS apps. This means that if you had previously enabled live streaming in Twitterrific, the app will now instead check for new tweets every two minutes. Unfortunately, this means that tweets and DM’s will be slightly delayed, but hopefully you won’t notice too much of a difference.

Since Twitterrific will no longer connect to Twitter’s push notification stream, we can no longer inform you immediately when someone likes, RT’s, mentions, or sends you a direct message. The app still badges the appropriate icon at the top of the timeline with an unread dot after loading the latest tweets, but if your iOS device is asleep, you won’t get a notification on the home screen.

To work around this problem we suggest you download the official Twitter client for iOS, add any and all Twitter accounts you want to receive push notifications for and enable them. Once you turn them on, be sure to head back to Twitter’s in-app preferences and then customize the types of notifications you want to receive.

The flow of how to activate push notifications within the official app. Open Settings and Privacy - Notifications - Push Notifications - Turn on Notifications

NOTE: By default, Twitter enables their “Quality Filter” so you’ll need to turn this off if you want to receive notifications for ALL tweets, not just those Twitter deems important. Once this is done, you’ll be notified of events like you’re used to with Twitterrific (except for Quoted tweets). You can then launch Twitterrific to respond to these notifications as needed.

Since the information displayed by Twitterrific’s Today view was collected using Twitter’s push notification stream, this feature will no longer function. We’d like to work around this limitation and once again provide a view where you can view your most recent activity, but additional future API restrictions may make this impossible. We’ll all have to wait and see.

Moving Forward

If you have additional questions about how Twitter’s API changes affect you as a Twitterrific user, be sure to visit our Knowledge Base to learn more. We’ll be responding to problems and questions on Twitter all week so be sure to follow @Twitterrific for the latest news and information. You can also follow #BreakingMyTwitter on Twitter to see what others are saying.

Finally, we’re committed to continued development of Twitterrific as long as it makes financial sense and is allowed by Twitter. Despite these changes, we hope you’ll continue to use and support us into the future. We’re not going anywhere.

Talking Accessibility & Twitter’s Upcoming API Changes

August 8, 2018

By Ged Maheux

The Blind Side podcast with Jonathan Mosen on iTunesPodcaster and accessibility maven, Jonathan Mosen, recently had me on his podcast to discuss Twitter’s upcoming imposed changes to their live streaming and push notification APIs.

On episode 98 of The Blind Side we talk about what these changes mean for Twitterrific users and how they affect accessibility within the app. Even if you’re sighted, I encourage you to check out this interview which gets a bit more in-depth about why we think Twitter is revoking these features, how we’re dealing with the reduced functionality and what this means for the future of third party Twitter apps.

I want to thank Jonathan for inviting me on and helping us get the word out about these unfortunate policy changes that will hit Twitterrific users on August 16th, 2018. Check out The Blind Side with Jonathan Mosen on iTunes or via his website.

Listening to Poo, Your Emoji and You

July 13, 2018

By Ged Maheux

A 1950's PSA style woman gazes up from behind a book to floating emoji above her head including the smiling poo

Let’s face it, it’s a struggle to get attention in 2018. Users wage a constant battle for eyeballs in the ever-widening war of compelling content versus fake news and funny memes. One of the ways people stand out from the pack is to employ Emoji and special characters in their names. Scroll through your Twitter timeline and you will undoubtedly spot more than a few people relying on this technique: it acts as a visual cue to pay special attention and adds an extra dimension of personality to a profile.

But these benefits have a significant downside.

The problem with using these special characters centers around how they are presented to folks with vision difficulties. If you’re relying on a screen reader, like Apple’s VoiceOver technology, Emoji can make browsing Twitter a nightmare. This is because VoiceOver reads the name of the character: you may see a simple 😊 Emoji, but a blind person hears “Smiling face with smiling eyes”.

In a tweet, it’s helpful to hear something like “Awesome job! Smiling face with smiling eyes Emoji”. But when this same character is used in a screen name, you’ll hear “John Doe Smiling face with smiling eyes” at the beginning of each tweet. This adds friction and dramatically slows down the process of “reading” your timeline because this longer phrase is read every time.

There are more characters within Unicode than just Emoji, and some of the codes let you change the way a name appears visually on your screen. You can pick a different font like Copperplate Gothic or add funky symbols – thanks to standard support across a wide variety of platforms, your unique creation will look great everywhere.

But what happens if you’re not looking at it and relying on a screen reader? Compare what you see for this tweet to what the VoiceOver user hears in the audio clip below:

Tweet from Janie Plum with her name defined in unicode characters

The user name takes over half of the total reading time and is difficult to understand because it must be spelled out as J-A-N-I-Pulsating heart-P-L-Small Latin Letter Capital U. You’ll also note that a few letters are missing as VoiceOver attempts to speed things up. Looks can be deceiving.

Now imagine hearing this over and over as you scroll through your timeline – a tweetstorm by Janie will be excrutiating! And then her friends pick up on the trend and add to your frustration!

So what’s the solution?

The Iconfactory recently introduced a new feature in Twitterrific that allows users to turn off Emoji in names. When activated, these problematic characters are no longer displayed or used by VoiceOver, resulting in a smoother reading experience. We’re also looking at ways to remove other characters that need to be spelled out. While this all helps our customers, it remains a problem on the web and in other apps.

If you want to make your tweets accessible to the widest possible audience, consider removing Emoji from your online user names. This goes doubly for the stylized Unicode characters that some people have fallen in love with. Sure, they may elevate your online profile to the social media equivalent of the Matrix code, but for folks with disabilities, it’s just making their lives more difficult.

Now you know, and as they say, that’s half the battle. The accessibility community thanks you!