Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using WordPress’ Built-in Theme Capabilities for Better UX

Ross Johnson
August 24, 2013

Using WordPress’ Built-in Theme Capabilities for Better UX

Buried deep in the WordPress Codexs are easy to implement, usability enhancers that could benefit any theme. In this session we dive into basic UX methodologies before exploring how WordPress already has the functionality to accommodate core UX needs. With the information provided you can create more usable themes, happier users and a better web for all.

Ross Johnson

August 24, 2013
Tweet

More Decks by Ross Johnson

Other Decks in Design

Transcript

  1. User Experience Defined "User experience" encompasses all aspects of the

    end-user's interaction with the company, its services, and its products.” - Jakob Nielsen 3.7designs.co / @37designs
  2. “Web sites are complicated pieces of technology, and something funny

    happens when people have trouble using complicated pieces of technology: they blame themselves.” - Jesse James Garrett 3.7designs.co / @37designs
  3. “...It is user experience that forms the customer’s impression of

    the company’s offerings, it is the user experience that differentiates the company from its competitors, and it is the user experience that determines whether your customer will ever come back.” - Jesse James Garrett 3.7designs.co / @37designs
  4. Steve Krug Says You know from your own experience as

    a Web user that paying attention to usability means less frustration and more satisfaction for your visitors, and a better chance that you’ll see them again. 3.7designs.co / @37designs
  5. “If something is hard to use, I just don’t use

    it as much.” - Steve Krug’s Wife 3.7designs.co / @37designs
  6. My take on user experience: User experience is a simple

    way to impact peoples lives in a beneficial way that also helps you or your clients business. - Ross Johnson 3.7designs.co / @37designs
  7. Findable: We must strive to design navigable web sites and

    locatable objects, so users can find what they need. 3.7designs.co / @37designs Peter Moreville http://semanticstudios.com/publications/semantics/000029.php
  8. When users visit a site, they’re often trying to find

    something. 3.7designs.co / @37designs
  9. There are challenges to finding info. No sense of scale.

    No sense of direction. No sense of location. 3.7designs.co / @37designs Steve Krug, Don’t Make Me Think, pg. 57
  10. Navigation can help us: Find what we’re looking for. Know

    where we are. Anchor our location. Figure out what’s here. 3.7designs.co / @37designs
  11. Navigation can help us: Find what we’re looking for. Know

    where we are. Anchor our location. Figure out what’s here. 3.7designs.co / @37designs
  12. add_action( 'init', 'create_beer_styles' ); function create_beer_styles() { ! register_taxonomy( !

    ! 'beer_styles', ! ! 'beer', ! ! array( ! ! ! 'label' => __( 'Beer Styles' ), ! ! ! 'rewrite' => array( 'slug' => 'beer-styles' ), ! ! ! 'hierarchical' => true, ! ! ) ! ); } 3.7designs.co / @37designs
  13. Navigation can help us: Find what we’re looking for. Know

    where we are. Anchor our location. Figure out what’s here. 3.7designs.co / @37designs
  14. <?php wp_nav_menu(); ?> <?php wp_list_pages(); ?> <li class="current-menu-item current_page_item"> <a

    href="http://demaria.stagedsite.net/markets/">Markets</a> </li> .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-menu-item, .current_page_item { font-weight: bold; color: #000; } 3.7designs.co / @37designs
  15. Navigation can help us: Find what we’re looking for. Know

    where we are. Anchor our location. Figure out what’s here. 3.7designs.co / @37designs
  16. <?php function the_breadcrumb() { echo '<ul id="breadcrumbs">'; if (!is_home()) {

    echo '<li><a href="'; echo get_option('home'); echo '">'; echo 'Home'; echo "</a></li>"; if (is_category() || is_single()) { echo '<li>'; the_category(' </li><li> '); if (is_single()) { echo "</li><li>"; the_title(); echo '</li>'; } } elseif (is_page()) { echo '<li>'; echo the_title(); echo '</li>'; } } elseif (is_tag()) {single_tag_title();} elseif (is_day()) {echo"<li>Archive for "; the_time('F jS, Y'); echo'</li>';} elseif (is_month()) {echo"<li>Archive for "; the_time('F, Y'); echo'</li>';} elseif (is_year()) {echo"<li>Archive for "; the_time('Y'); echo'</li>';} elseif (is_author()) {echo"<li>Author Archive"; echo'</li>';} elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "<li>Blog Archives"; echo'</ li>';} elseif (is_search()) {echo"<li>Search Results"; echo'</li>';} echo '</ul>'; } ?> http://cazue.com/articles/wordpress-creating-breadcrumbs-without-a-plugin-2013 3.7designs.co / @37designs
  17. Navigation can help us: Find what we’re looking for. Know

    where we are. Anchor our location. Figure out what’s here. 3.7designs.co / @37designs
  18. <?php $markets = get_terms('markets'); foreach ($markets as $market) { echo

    ‘<li><a href=’.$market->slug.’>’.$market->name.’</li>’; } ?> 3.7designs.co / @37designs
  19. <?php $markets = get_terms('markets'); $current_market = get_query_var(‘markets’); foreach ($markets as

    $market) { ?> <li <?php if($current_market == $market->slug) { echo ‘class=”active”’; ?>> <a href=’.$market->slug.’>’.$market->name.’ </li> <?php } ?> 3.7designs.co / @37designs
  20. Usable and Learnability: How easy is it for users to

    accomplish basic tasks the first time they encounter the design? 3.7designs.co / @37designs Jakob Nielsen - http://www.nngroup.com/articles/usability-101-introduction-to-usability/
  21. Sitemaps: “New user testing of site maps shows that they

    are still useful as a secondary navigation aide, and that they're much easier to use than they were during our research 7 years ago.” Jakob Nielsen - http://www.nngroup.com/articles/site-map-usability/ 3.7designs.co / @37designs
  22. Search: “On average about 14% of users started with search.

    There was a fair amount of variability in the data with a low search percentage by task of 2% and high of 75%. ” Measuring Usability - http://www.measuringusability.com/blog/search-browse.php 3.7designs.co / @37designs
  23. <h1>Search Results for: ‘<?php the_search_query(); ?>’</h1> <p>You searched for <strong>’<?php

    the_search_query(); ?>’</strong> and the search returned <?php echo $wp_query->found_posts; ?> items. Here are the results:</p> 3.7designs.co / @37designs Graham Armfield, Simple Usability Tweaks for your WordPress Theme - http://www.slideshare.net/coolfields/wordpress-usability
  24. Perceived Affordance: The property of an object or system’s action

    possibilities being easily discoverable. 3.7designs.co / @37designs -- Don Norman
  25. Usability and Error C orrection: How many errors do users

    make, how severe are these errors, and how easily can they recover from the errors? 3.7designs.co / @37designs Jakob Nielsen - http://www.nngroup.com/articles/usability-101-introduction-to-usability/
  26. Accessible: Just as our buildings have elevators and ramps, our

    web sites should be accessible to people with disabilities (more than 10% of the population). 3.7designs.co / @37designs Peter Moreville http://semanticstudios.com/publications/semantics/000029.php
  27. Quick ways to improve accessibility: 1. Use “skip links” 2.

    Use WAI-ARIA roles 3. Use ALT tags 4. Install WP-Accessibility Jakob Nielsen - http://www.nngroup.com/articles/site-map-usability/ 3.7designs.co / @37designs
  28. <p><a href=”#content”>Skip to Content</a></p> <ul id=”main-navigation”> <li><a href=”/”>Home</a></li> <li><a href=”/about”>About</a></li>

    <li><a href=”/services”>Services</a></li> <li><a href=”/portfolio”>Portfolio</a></li> <li><a href=”/contact”>Contact</a></li> </ul> <div id=”content”> <h1>About Us</h1> ... 3.7designs.co / @37designs Skip Links
  29. <nav id=”primary” role=”navigation”> ... </nav> <div id=”content” role=”main”> ... </div>

    <aside id=”secondary” role=”complementary”> ... </aside> <div id=”search” role=”search”> ... </div> <h2 id=”logo” role=”banner”>WordCamp Grand Rapids</h2> 3.7designs.co / @37designs WAI-ARIA Roles
  30. “What makes people passionate, pure and simple, is great experiences.

    If they have great experience with your product and they have great experiences with your service, they’re going to be passionate about your brand, they’re going to be committed to it. That’s how you build that kind of commitment.” - Jesse James Garrett 3.7designs.co / @37designs