Skip to content

Commit

Permalink
Merge pull request FortAwesome#9190 from FortAwesome/talbs/update-a11y
Browse files Browse the repository at this point in the history
Add CDN Auto Accessibility to Accessibility Page
  • Loading branch information
davegandy committed May 13, 2016
2 parents 8f02479 c763ff1 commit 8e241f2
Show file tree
Hide file tree
Showing 12 changed files with 152 additions and 83 deletions.
21 changes: 21 additions & 0 deletions src/_includes/accessibility/accessibility-facdn.html
Original file line number Diff line number Diff line change
@@ -0,0 1,21 @@
<section id="accessibility-cdn" class="accessibility-cdn">
<div class="row">
<div class="col-md-8">
<h3>
<i class="gg-col fa fa-magic text-muted fa-lg padding-right" aria-hidden="true"></i>
Use Font Awesome CDN's auto accessibility
</h3>

<p><a href="{{ page.relative_path }}get-started/#get-started-cdn">Font Awesome CDN</a> helps you automate accessibility support more easily so your icons work for the most people possible. You only need turn on a setting, <a href="https://cdn.fontawesome.com/help#qa-autoa11y">use our simple syntax</a>, and any icons you use will have all of the best practices and manual techniques below <strong>applied automatically</strong>.</p>
</div>

<div class="col-md-4">
<a href="{{ page.relative_path }}get-started/#get-started-cdn" class="btn btn-success btn-block btn-lg margin-top-lg margin-bottom">Automate Your Icons' Accessibility</a>

<p class="text-sm text-center margin-bottom-none">
<a href="https://cdn.fontawesome.com/help#qa-autoa11y">Read more about our auto accessibility</a>
</p>
</div>
</div>

</section>
Original file line number Diff line number Diff line change
@@ -1,13 1,14 @@
<div id="using-with-accessibility">
<h2 class="page-header">Using Font Awesome with Acessibility in mind</h2>
<p>
When using icons in your UI, there are ways to help assistive technology either ignore or better understand Font Awesome.
</p>
<section id="accessibility-manual" class="accessibility-manual">

<h3>Icons used for pure decoration or visual styling</h3>
<p>
If you're using an icon to add some extra decoration or branding, it does not need to be announced to users as they are navigating your site or app aurally. Additionally, if you're using an icon to visually re-emphasize or add styling to content already present in your HTML, it does not need to be repeated to an assistive technology-using user. You can make sure this is not read by adding the <code>aria-hidden="true"</code> to your Font Awesome markup.
</p>
<h3>
<i class="gg-col fa fa-wrench text-muted fa-lg padding-right" aria-hidden="true"></i>
Manually make your icons accessible
</h3>

<p>When using icons in your UI, there are manual techniques and ways to help assistive technology either ignore or better understand Font Awesome.</p>

<h4 class="margin-top-xl">Icons used for pure decoration or visual styling</h4>
<p>If you're using an icon to add some extra decoration or branding, it does not need to be announced to users as they are navigating your site or app aurally. Additionally, if you're using an icon to visually re-emphasize or add styling to content already present in your HTML, it does not need to be repeated to an assistive technology-using user. You can make sure this is not read by adding the <code>aria-hidden="true"</code> to your Font Awesome markup.</p>

<div class="margin-top-lg margin-bottom-lg">
{% highlight html %}
Expand All @@ -33,12 34,12 @@ <h1 class="logo">
<small class="text-muted">an icon being used in front of link text</small>
</div>

<h3>Icons with semantic or interactive purpose</h3>
<h4 class="margin-top-xl">Icons with semantic or interactive purpose</h4>
<p>
If you're using an icon to convey meaning (rather than only as a decorative element), ensure that this meaning is also conveyed to assistive technologies. This goes for content you're abbreviating via icons as well as interactive controls (buttons, form elements, toggles, etc.). There are a few techniques to accomplish this:
</p>

<h4>If an icon is <strong>not</strong> an interactive element</h4>
<h4 class="margin-top-xl text-muted">If an icon is <strong>not</strong> an interactive element</h4>
<p>
The simplest way to provide a text alternative is to use the <code>aria-hidden="true"</code> attribute on the icon and to include the text with an additional element, such as a <code>&lt;span&gt;</code>, with appropriate CSS to visually hide the element while keeping it accessible to assistive technologies. In addition, you can add a <code>title</code> attribute on the icon to provide a tooltip for sighted mouse users.
</p>
Expand Down Expand Up @@ -76,7 77,7 @@ <h4>If an icon is <strong>not</strong> an interactive element</h4>
<small class="text-muted">an icon being used to denote time remaining</small>
</div>

<h4>If an icon represents an interactive element</h4>
<h4 class="margin-top-xl text-muted">If an icon represents an interactive element</h4>
<p>
In the case of focusable interactive elements, there are various options to include an alternative text or label to the element, without the need for any visually hidden <code>&lt;span&gt;</code> or similar. For instance, simply adding the <code>title</code> attribute to the interactive element itself will be sufficient to provide an accessible alternative name for the element, as well as providing the mouse tooltip.
</p>
Expand Down Expand Up @@ -106,22 107,14 @@ <h4>If an icon represents an interactive element</h4>
<small class="text-muted">an icon being used as a delete button's symbol</small>

</div>
</div>

<div class="alert alert-success">
<ul class="fa-ul margin-bottom-none">
<li>
<i class="fa-li fa fa-info-circle fa-lg" aria-hidden="true"></i>
Bootstrap comes with a <a href="http://getbootstrap.com/css/#callout-has-feedback-icon-accessibility">utility class to visually hide content, but keep it semantically accessible</a>. If you're not using Bootstrap, there are <a href="https://css-tricks.com/places-its-tempting-to-use-display-none-but-dont/">plenty</a> of <a href="https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L124">recipes</a> to roll your own from.
</li>
</ul>
</div>

<div class="alert alert-success">
<ul class="fa-ul margin-bottom-none">
<li>
<i class="fa-li fa fa-info-circle fa-lg" aria-hidden"true"></i>
<a href="{{ page.relative_path }}examples/#accessible">See more examples of how to add accessibility-minded icons</a> into your UI.
</li>
</ul>
</div>


<div class="alert alert-success">
<ul class="fa-ul margin-bottom-none">
<li>
<i class="fa-li fa fa-info-circle fa-lg" aria-hidden"true"></i>
<a href="{{ page.relative_path }}examples/#accessible">See more examples of how to add accessibility-minded icons</a> into your UI.
</li>
</ul>
</div>
</section>
6 changes: 3 additions & 3 deletions src/_includes/accessibility/background.html
Original file line number Diff line number Diff line change
@@ -1,7 1,7 @@
<div id="background">
<h2 class="page-header">Icon Fonts &amp; Accessibility</h2>
<div id="accessibility-background">
<h4 class="margin-top-none">About Icon Fonts &amp; Accessibility</h4>
<p>
Modern versions of assistive technology, like screen readers, will read CSS generated content (how Font Awesome icons are rendered), as well as specific Unicode characters. When trying our default markup for rendering icons, assisistive technology may have the following problems.
Modern versions of assistive technology, like screen readers, will read CSS generated content (how Font Awesome icons are rendered), as well as specific Unicode characters. When reading our default markup for rendering icons, assisistive technology may have the following problems.
</p>

<ul>
Expand Down
11 changes: 11 additions & 0 deletions src/_includes/accessibility/cta-cdn-ally.html
Original file line number Diff line number Diff line change
@@ -0,0 1,11 @@
<div class="well text-center">
<div class="text-center margin-bottom">
<i class="gg-col fa fa-magic fa-3x text-muted padding-right" aria-hidden="true"></i>
<i class="gg-col fa fa-plus fa-2x text-muted padding-right" aria-hidden="true"></i>
<i class="gg-col fa fa-universal-access fa-3x text-muted" aria-hidden="true"></i>
</div>
<h3>Automate your icons' accessibility</h3>
<p><a href="{{ page.relative_path }}get-started/#get-started-cdn">Font Awesome CDN</a> helps you automate accessibility support more easily so your icons work for the most people possible. You only need turn on a setting and any icons you use will have all of the best practices we recommend applied automatically.</p>

<a href="{{ page.relative_path }}get-started/#get-started-cdn" class="btn btn-success btn-lg">Get Automated Accessibility</a>
</div>
6 changes: 3 additions & 3 deletions src/_includes/accessibility/other.html
Original file line number Diff line number Diff line change
@@ -1,7 1,7 @@
<div id="other">
<section id="accessibility-other" class="accessibility-other">
<h2 class="page-header">Other cases and information</h2>
<p>
While the scenarios and techniques above help avoid some serious issues and confusion, they are not exhaustive. There are many complex contexts and use cases when it comes to accessibility, such as users with low vision who need a high color contrast ratio to see UI. There are some great tools and resources to learn from and work on these issues out there. Here are a few reads we recommend.
While the scenarios and techniques here help avoid some serious issues and confusion, they are not exhaustive. There are many complex contexts and use cases when it comes to accessibility, such as users with low vision who need a high color contrast ratio to see UI. There are some great tools and resources to learn from and work on these issues out there. Here are a few reads we recommend.
</p>

<ul>
Expand All @@ -14,4 14,4 @@ <h2 class="page-header">Other cases and information</h2>
<p>
We'll continue to work on these under the larger topic of accessibility, but in the meantime, <a href="{{ page.relative_path }}community/#reporting-bugs">let us know if any bugs or issues</a>.
</p>
</div>
</section>
10 changes: 5 additions & 5 deletions src/_includes/examples/animated.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 31,19 @@ <h2 class="page-header">
with 8 steps. Works well with <code>fa-spinner</code>, <code>fa-refresh</code>, and <code>fa-cog</code>.
</p>
{% highlight html %}
<i class="fa fa-spinner fa-spin fa-3x fa-fw margin-bottom"></i>
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
<span class="sr-only">Loading...</span>

<i class="fa fa-circle-o-notch fa-spin fa-3x fa-fw margin-bottom"></i>
<i class="fa fa-circle-o-notch fa-spin fa-3x fa-fw"></i>
<span class="sr-only">Loading...</span>

<i class="fa fa-refresh fa-spin fa-3x fa-fw margin-bottom"></i>
<i class="fa fa-refresh fa-spin fa-3x fa-fw"></i>
<span class="sr-only">Loading...</span>

<i class="fa fa-cog fa-spin fa-3x fa-fw margin-bottom"></i>
<i class="fa fa-cog fa-spin fa-3x fa-fw"></i>
<span class="sr-only">Loading...</span>

<i class="fa fa-spinner fa-pulse fa-3x fa-fw margin-bottom"></i>
<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i>
<span class="sr-only">Loading...</span>
{% endhighlight %}
<p class="alert alert-success">
Expand Down
4 changes: 2 additions & 2 deletions src/_includes/examples/basic.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 10,7 @@ <h2 class="page-header">
<div class="row">
<div class="col-md-3 col-sm-4">
<p>
<i class="fa fa-camera-retro" aria-hidden="true"></i>
<i class="fa fa-camera-retro"></i>
<span class="sr-only">Example: basic icon</span>
fa-camera-retro
</p>
Expand All @@ -22,7 22,7 @@ <h2 class="page-header">
brevity, but using a <code>&lt;span&gt;</code> is more semantically correct).
</p>
{% highlight html %}
<i class="fa fa-camera-retro" aria-hidden="true"></i> fa-camera-retro
<i class="fa fa-camera-retro"></i> fa-camera-retro
{% endhighlight %}
<div class="alert alert-success">
<ul class="fa-ul">
Expand Down
34 changes: 17 additions & 17 deletions src/_includes/examples/bootstrap.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 4,13 @@ <h2 class="page-header">Bootstrap 3 Examples</h2>
<div class="col-md-3 col-sm-4">
<p>
<a class="btn btn-danger" href="#">
<i class="fa fa-trash-o fa-lg" aria-hidden="true"></i> Delete</a>
<i class="fa fa-trash-o fa-lg"></i> Delete</a>
<a class="btn btn-default btn-sm" href="#">
<i class="fa fa-cog" aria-hidden="true"></i> Settings</a>
<i class="fa fa-cog"></i> Settings</a>
</p>
<p>
<a class="btn btn-lg btn-success" href="#">
<i class="fa fa-flag fa-2x pull-left" aria-hidden="true"></i> Font Awesome<br>Version {{ site.fontawesome.version }}</a>
<i class="fa fa-flag fa-2x pull-left"></i> Font Awesome<br>Version {{ site.fontawesome.version }}</a>
</p>
<div class="margin-bottom">
<div class="btn-group">
Expand All @@ -30,26 30,26 @@ <h2 class="page-header">Bootstrap 3 Examples</h2>
</div>
<div class="margin-bottom">
<div class="input-group margin-bottom-sm">
<span class="input-group-addon"><i class="fa fa-envelope-o fa-fw" aria-hidden="true"></i></span>
<span class="input-group-addon"><i class="fa fa-envelope-o fa-fw"></i></span>
<input class="form-control" type="text" placeholder="Email address">
</div>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-key fa-fw" aria-hidden="true"></i></span>
<span class="input-group-addon"><i class="fa fa-key fa-fw"></i></span>
<input class="form-control" type="password" placeholder="Password">
</div>
</div>
<div class="margin-bottom">
<div class="btn-group open">
<a class="btn btn-primary" href="#"><i class="fa fa-user fa-fw" aria-hidden="true"></i> User</a>
<a class="btn btn-primary" href="#"><i class="fa fa-user fa-fw"></i> User</a>
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#">
<span class="fa fa-caret-down" title="Toggle dropdown menu"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> Edit</a></li>
<li><a href="#"><i class="fa fa-trash-o fa-fw" aria-hidden="true"></i> Delete</a></li>
<li><a href="#"><i class="fa fa-ban fa-fw" aria-hidden="true"></i> Ban</a></li>
<li><a href="#"><i class="fa fa-pencil fa-fw"></i> Edit</a></li>
<li><a href="#"><i class="fa fa-trash-o fa-fw"></i> Delete</a></li>
<li><a href="#"><i class="fa fa-ban fa-fw"></i> Ban</a></li>
<li class="divider"></li>
<li><a href="#"><i class="fa fa-unlock" aria-hidden="true"></i> Make admin</a></li>
<li><a href="#"><i class="fa fa-unlock"></i> Make admin</a></li>
</ul>
</div>
</div>
Expand All @@ -61,12 61,12 @@ <h2 class="page-header">Bootstrap 3 Examples</h2>
</p>
{% highlight html %}
<a class="btn btn-danger" href="#">
<i class="fa fa-trash-o fa-lg" aria-hidden="true"></i> Delete</a>
<i class="fa fa-trash-o fa-lg"></i> Delete</a>
<a class="btn btn-default btn-sm" href="#">
<i class="fa fa-cog" aria-hidden="true"></i> Settings</a>
<i class="fa fa-cog"></i> Settings</a>

<a class="btn btn-lg btn-success" href="#">
<i class="fa fa-flag fa-2x pull-left" aria-hidden="true"></i> Font Awesome<br>Version {{ site.fontawesome.version }}</a>
<i class="fa fa-flag fa-2x pull-left"></i> Font Awesome<br>Version {{ site.fontawesome.version }}</a>

<div class="btn-group">
<a class="btn btn-default" href="#">
Expand Down Expand Up @@ -98,11 98,11 @@ <h2 class="page-header">Bootstrap 3 Examples</h2>
<span class="fa fa-caret-down" title="Toggle dropdown menu"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#"><i class="fa fa-pencil fa-fw" aria-hidden="true"></i> Edit</a></li>
<li><a href="#"><i class="fa fa-trash-o fa-fw" aria-hidden="true"></i> Delete</a></li>
<li><a href="#"><i class="fa fa-ban fa-fw" aria-hidden="true"></i> Ban</a></li>
<li><a href="#"><i class="fa fa-pencil fa-fw"></i> Edit</a></li>
<li><a href="#"><i class="fa fa-trash-o fa-fw"></i> Delete</a></li>
<li><a href="#"><i class="fa fa-ban fa-fw"></i> Ban</a></li>
<li class="divider"></li>
<li><a href="#"><i class="fa fa-unlock" aria-hidden="true"></i> Make admin</a></li>
<li><a href="#"><i class="fa fa-unlock"></i> Make admin</a></li>
</ul>
</div>
{% endhighlight %}
Expand Down
16 changes: 8 additions & 8 deletions src/_includes/examples/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 9,20 @@ <h2 class="page-header">
<div class="row">
<div class="col-md-3 col-sm-4">
<ul class="fa-ul">
<li><i class="fa-li fa fa-check-square" aria-hidden="true"></i>List icons</li>
<li><i class="fa-li fa fa-check-square" aria-hidden="true"></i>can be used</li>
<li><i class="fa-li fa fa-spinner fa-spin" aria-hidden="true"></i>as bullets</li>
<li><i class="fa-li fa fa-square" aria-hidden="true"></i>in lists</li>
<li><i class="fa-li fa fa-check-square"></i>List icons</li>
<li><i class="fa-li fa fa-check-square"></i>can be used</li>
<li><i class="fa-li fa fa-spinner fa-spin"></i>as bullets</li>
<li><i class="fa-li fa fa-square"></i>in lists</li>
</ul>
</div>
<div class="col-md-9 col-sm-8">
<p>Use <code>fa-ul</code> and <code>fa-li</code> to easily replace default bullets in unordered lists.</p>
{% highlight html %}
<ul class="fa-ul">
<li><i class="fa-li fa fa-check-square" aria-hidden="true"></i>List icons</li>
<li><i class="fa-li fa fa-check-square" aria-hidden="true"></i>can be used</li>
<li><i class="fa-li fa fa-spinner fa-spin" aria-hidden="true"></i>as bullets</li>
<li><i class="fa-li fa fa-square" aria-hidden="true"></i>in lists</li>
<li><i class="fa-li fa fa-check-square"></i>List icons</li>
<li><i class="fa-li fa fa-check-square"></i>can be used</li>
<li><i class="fa-li fa fa-spinner fa-spin"></i>as bullets</li>
<li><i class="fa-li fa fa-square"></i>in lists</li>
</ul>
{% endhighlight %}
</div>
Expand Down
35 changes: 23 additions & 12 deletions src/accessibility.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 2,38 @@
layout: base
title: Font Awesome & Accessibility
navbar_active: accessibility
view_class: v-accessibility
relative_path: ../
---
{% capture jumbotron_h1 %}<i class="fa fa-universal-access" aria-hidden="true"></i>&nbsp; Accessibility{% endcapture %}
{% capture jumbotron_p %}Make your icons awesome for all of your users{% endcapture %}

{% include jumbotron.html %}
{% include stripe-social.html %}

<div class="container">
{% capture stripe_ad_content %}
<p class="lead">
Icons are symbols that can convey a ton of information and really help people comprehend directions, signs, and interfaces. Its important that we create and use them so that they can reach the largest amount of people possible.
</p>
<section id="accessibility-intro" class="accessibility-intro">
<div class="row">
<div class="col-md-6">
<p class="lead">
Icons are symbols that can convey a ton of information and really help people comprehend directions, signs, and interfaces. Its important that we create and use them so that they can reach the largest amount of people possible.
</p>
</div>
<div class="col-md-6">
{% include accessibility/background.html %}
</div>
</div>
</section>

<p class="lead">
When creating web sites and apps, that means making sure our icons play well with assistive tech when users are navigating apps and sites.
</p>
{% endcapture %}
{% include stripe-ad.html %}
<h2 class="page-header">
Using Font Awesome with Acessibility in mind
</h2>

{% include accessibility/background.html %}
{% include accessibility/using-with-accessibility.html %}
{% include accessibility/accessibility-facdn.html %}

<div class="hr margin-top-xl">
<span class="hr-text text-xl text-muted">or</span>
</div>

{% include accessibility/accessibility-manual.html %}
{% include accessibility/other.html %}
</div>
26 changes: 25 additions & 1 deletion src/assets/less/site/views.less
Original file line number Diff line number Diff line change
@@ -1,6 1,14 @@
// view-specific
.v-get-started, .v-store {

// reset background
.v-get-started,
.v-store,
.v-accessibility {
background: @alert-well-bg; // resetting for depth
}

// get started
.v-get-started {

.get-started-cdn {
background: @section-emphasized-bg;
Expand All @@ -24,3 32,19 @@
font-size: (@font-size-large*1.5);
}
}

// accessibility
.v-accessibility {

.accessibility-cdn {
background: @section-emphasized-bg;
border-radius: @border-radius-base;
padding: @buffer-lg;
}

.hr .hr-text {
background: @alert-well-bg;
font-family: @font-family-serif;
font-size: (@font-size-large*1.5);
}
}
Loading

0 comments on commit 8e241f2

Please sign in to comment.