Notes on Building Accessible Websites

Everyone should be able to go to a website and do what they want with a minimal amount of effort. What makes a website accessible? An accessible website should be perceivable, operable, understandable and robust. A website is perceivable when you provide text for any non-text content like images, videos, podcasts or other sound files and provide alternatives for time-based media. An operable website makes all functionality available via keyboard and provides users enough time. Your website is understandable when you create content that is readable and understandable. It becomes robust when your create it using techniques that maximizes future compatibility.
Notes On Building Accessible Websites

How do you achieve this?

You get started by adding accessibility to your website with HTML, CSS and files names.

  • Add alt tags to images. Not all images need the alt tag. If your image is for decoration only, you can skip the alt tag.
  • Use headings frequently. Headings help break up the text and make it easy to understand. Remember, to use one H1 tag per page
  • Use color contrast. The right color combinations can make text either easy or hard to read. Try Lea Verou’s color contrast tool.
  • Make your file names meaningful. Your camera gives your images names with long sets of letters and numbers. Rename them to describe the image. Meaningful names can help with SEO and finding an image if you need to updated it later.
  • Add a label to every form element.

How do you know how accessible your website is?

You can use the following tools to determine your websites accessibility and take steps to fix issues.

Wave

Wave is an accessibility evaluation tool. It can help you to make your content more accessible. It shows you errors in red, warnings in yellow and accessible content features in green.

Wave On Burlington Footwear

ChromeVox

A screen reader for the Chrome browser. Use ChromeVox to learn how a visually impaired person has to use your website.

Your Keyboard

Use your keyboard to navigate through your website without using your mouse. If you need to use your mouse, then you have some items that need fixing.

Do you use Chrome for Your Development?

Ire Aderinokun, UI Designer and Front End Developer, talks about the Chrome Accessibility tools that she uses to test for accessibility issues.

While you develop your next website, use these tools and tips to ensure that you build a site that is perceivable, operable, understandable and robust. By using a variety of tools, you can help to make the user experience better for all of your users.

Want to learn more about accessibility? The A11Y Project is working to make web accessibility easier for web developers to implement.

Takeaways from Milwaukee Code Camp 2016

What is Milwaukee Code Camp? A one day conference with a wide variety of presentations and talks on coding, technology and more. I attended the sessions on Design Patterns, Firebase, HoloLens and Building a Chat Bot. Here are my notes:

Takeaways Milwaukee Code Camp 2016

Design Patterns

David showed us how to make your code adaptable, separate concerns and apply an interface and different design patterns. He started with code that was written without the benefit of an interface. David showed why this design wasn’t as adaptable to changes as it needed to be. You couldn’t add a new back-end provider without rewriting the code.

David showed us four Design Patterns. They are:

  • Bridge Pattern: use an interface to separate dependency from code
  • Decorator Pattern: wrap one object inside of another
  • Chain of Responsibility: passes through a series of handler until it can process your request
  • Template Pattern: it handles repeated code (an algorithm)

David explained that you should use patterns when they make sense. Not all situations are appropriate for a design pattern. You can download the code and check out the slides for Design Patterns on github.

Firebase

Firebase is a noSQL database. It is a realtime database which has a cloud-based backend. With Firebase, you can build high-quality apps. It has APIs package into a single SDK for easy use. As a Google product, can use AD Works and Analytics to learn what your users need. It works across multiple platforms from iOS to JavaScript.

You may want to consider Firebase for your app if:

  • You’re building a new app or rebuilding an existing one.
  • Your application requires minimal integration with third party services or legacy systems.
  • You’re creating an app that doesn’t have complex user authentication needs or heavy data processing requirements.

To get started, sign up for a Firebase account. Create a project, then setup authentication because it is in active at first. Then, you can start creating your app. If you want, you can use it with a Facebook app. You can learn more about Firebase from Google.

HoloLens

HoloLens uses both augmented and mixed reality. They defined augmented as supplemental to reality. PokeMon Go is an example of augmented reality. Mixed is where you add objects to reality. Greg Levenhagen talked about how Microsoft is leading the way with augmented reality by providing HoloLens as a tool for creating revolutionary apps and games. We discussed how HoloLens can be used for engineering, training, manufacturing, sales and remote communications. Right now, C# developers can start building apps for HoloLens today.

You Can Build a Bot, too!

A chat bot that is. A chat bot is an app that simulates a human conversation. They can tell you the weather or find an article for you. “Chat bots are becoming the new apps.” Big tech companies like Google, Apple, Facebook and Slack have chat bots. You can order tacos from Taco Bell in Slack using a chat bot.

When you create a chat bot, you want it to have:

  • A simple and uncomplicated user interface.
  • A specific purpose and complete specific tasks.
  • A personality. Is it snarky or formal?
  • A reliable hosting service. You want your bot to be available all day.
  • A “catch all” response when it doesn’t know something. It may refer you to a website or a person who can answer the question.
  • Be well tested. A buggy chat bot will not be used.

Anthony Jesmok, a Full Stack Developer with Misix, explained that you can get started with your own chat bot. There are several bot frameworks to choose from. For his presentation, he used the Microsoft Bot Framework, Microsoft LUIS (a natural language recognition engine) and Node.js. With Microsoft LUIS, you create an app recognizes and handles the situations (functions) that you what the chat bot do. Anthony has made his code and slides available on github.

Summary

As with other conferences, it can be hard to choose between sessions to go to. I have new and interesting technologies and coding techniques to learn more about. Thanks to the sponsors: Skyline Technologies, SafeNet, Concurrency and University of Wisconsin – Milwaukee for making a great conference.

How is a WordPress Plugin Reviewed?

You created a WordPress plugin and submitted it to the Plugin Repository. What happens when you submit your plugin for review? How does WordPress review plugins?

How does WordPress Review Your Plugin

Mika Epstein at WordCamp Atlanta 2016 explains the process.

How do you prevent your plugin from being rejected?

  • Give your plugin a unique name. Don’t use “plugin” or “WordPress” in the name.
  • Avoid using Trademarks. Company or product names may be trademark. If you want to use Google Analytics as part of your name, you can’t because it is trademarked.
  • Don’t steal another developer’s plugin and pass it off as your own. If you are modifying or forking another plugin, credit the owner of the original and change the code so they can see that you made changes to it.
  • Make sure your code does things the way WordPress expects. They may reject your code if you don’t sanitize your data, hard code calls to WordPress directories or don’t document that your plugin uses calls to third party api’s or plugins.
  • Seven Day Rule. Communicating with your plugin reviewer is key. They may reject your plugin if you don’t respond to your reviewer after seven days.

Reviewing your plugin can be a long process. Every plugin is reviewed by a live person; it is not automated. Working closely with your plugin reviewer, helps you to fix problems and get through the process more quickly. Remember, they actually read the code and test it to make sure it works. You can make your chances of being accepted by doing the following: use a unique name, avoid using trademarks, give credit to others when you use their code and review your code to make sure it does things the way WordPress expects.

Designing Your Process (For Fun and Profit)

What is design? Design solves problems. If you aren’t solving a problem, than your design is making it pretty. Whether it is a website, an app or service, your design must do something. Pretty is not the goal of design.

How do you go from pretty to design?

  • Understand your clients needs. Whether its an app, service or website, work with them to learn what they want.
  • Know who the audience you are designing for. Who are they? What problem to they need solved? Why would they use your solution?
  • Define the problem. What is the problem that you want to solve?
  • Solve the problem. Develop the solution to your problem.

In order to do this, you need to develop a process that help you get from idea to solution. Chris Ford at WordCamp Orange County 2016, talks about Designing Your Process.

You can also find the presentation slides on Slide Deck.

By developing a design process, you can see where you are going, choose the right tools and deal with unexpected surprises and failures when they occur. What have you included in your design process?

How Do I Manage Multiple WordPress Websites?

When you have a single WordPress website, managing it is easy. You log in update plugins, WordPress or your theme. Once you start making more WordPress websites whether for yourself or clients, you’ll need a more effective way of managing them.

Manage Multiple Sites

With WordPress, you have a number of solutions to choice from that help you manage multiple WordPress websites from one location. No more logging in and out and switching between websites. Here is a quick overview of three of the best WordPress Management solutions.

MainWP

A WordPress Management plugin that allows to manage multiple WordPress sites from one location. You can manage your day to day WordPress tasks from posts to updates. MainWP is a free plugin with many features.

You can:

  • Manage Plugins and Themes
  • Manage Unlimited WordPress sites
  • Manage Users
  • Host on Your Own Server
  • Manage content, upgrades and backups

What do you get with the paid version?

  • Article Uploader
  • Advance Uptime Monitor
  • Bulk Settings Manager

Infinite WP

A self-hosted, multiple WordPress management platform that simplifies your WordPress management tasks. You can backup and update multiple WordPress sites from one location without having to login to each site.

  • Written in PHP; not native to WordPress
  • Free
  • Self-hosted
  • Master Login
  • One Click Update
  • Back Up and Restore
  • Doesn’t matter what server you install it on

What do you get in the paid version?

  • Scheduled Backups
  • Manage Users
  • Publish Posts and Pages
  • Security Plugins like WordFence and iThemes Security
  • WP Maintenance
  • Cloud Backup
  • Staging

CMS Commander

A powerful dashboard that allow you to manage all of your WordPress websites in one solution. CMS Commander also provides tools for bulk posts articles and pages to your blogs simultaneously, create a new WordPress site with all the settings that you need to get started and more.

  • Free to try
  • One Dashboard to Control All WordPress Websites
  • Full Overview of Traffic and Statistics
  • Copy Entire WordPress Sites for a New Project
  • Complete Control to Manage Posts, Comments and Users
  • Easy to Update All WordPress Sites
  • Automatic Backups of All Your Sites

Summary

Managing multiple WordPress websites individually is both time-consuming and unproductive. By using a WordPress management tool, you can be more productive by streamlining your maintenance tasks and save time. Each tool has different features, benefits and pricing. Pick the one that fits your needs.