diff --git a/aio/content/examples/accessibility/e2e/src/app.e2e-spec.ts b/aio/content/examples/accessibility/e2e/src/app.e2e-spec.ts
new file mode 100644
index 0000000000..1df4834f8c
--- /dev/null
+++ b/aio/content/examples/accessibility/e2e/src/app.e2e-spec.ts
@@ -0,0 +1,21 @@
+'use strict'; // necessary for es6 output in node
+
+import { browser, element, by } from 'protractor';
+
+describe('Accessibility example e2e tests', () => {
+
+ beforeEach(() => {
+ browser.get('');
+ });
+
+ it('should display Accessibility Example', function () {
+ expect(element(by.css('h1')).getText()).toEqual('Accessibility Example');
+ });
+
+ it('should take a number and change progressbar width', function () {
+ element(by.css('input')).sendKeys('16');
+ expect(element(by.css('input')).getAttribute('value')).toEqual('016');
+ expect(element(by.css('app-example-progressbar div')).getCssValue('width')).toBe('48px');
+ });
+
+});
diff --git a/aio/content/examples/accessibility/example-config.json b/aio/content/examples/accessibility/example-config.json
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/aio/content/examples/accessibility/src/app/app.component.css b/aio/content/examples/accessibility/src/app/app.component.css
new file mode 100755
index 0000000000..e69de29bb2
diff --git a/aio/content/examples/accessibility/src/app/app.component.html b/aio/content/examples/accessibility/src/app/app.component.html
new file mode 100755
index 0000000000..4869298570
--- /dev/null
+++ b/aio/content/examples/accessibility/src/app/app.component.html
@@ -0,0 +1,13 @@
+
Accessibility Example
+
+
+
+
+
+
+
+
diff --git a/aio/content/examples/accessibility/src/app/app.component.ts b/aio/content/examples/accessibility/src/app/app.component.ts
new file mode 100755
index 0000000000..dd635acc9c
--- /dev/null
+++ b/aio/content/examples/accessibility/src/app/app.component.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-root',
+ templateUrl: './app.component.html',
+ styleUrls: [ './app.component.css' ]
+})
+export class AppComponent {
+ progress = 0;
+}
diff --git a/aio/content/examples/accessibility/src/app/app.module.ts b/aio/content/examples/accessibility/src/app/app.module.ts
new file mode 100755
index 0000000000..bce527d559
--- /dev/null
+++ b/aio/content/examples/accessibility/src/app/app.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { BrowserModule } from '@angular/platform-browser';
+
+import { AppComponent } from './app.component';
+import { ExampleProgressbarComponent } from './progress-bar.component';
+
+@NgModule({
+ imports: [ BrowserModule ],
+ declarations: [ AppComponent, ExampleProgressbarComponent ],
+ bootstrap: [ AppComponent ]
+})
+export class AppModule { }
diff --git a/aio/content/examples/accessibility/src/app/progress-bar.component.css b/aio/content/examples/accessibility/src/app/progress-bar.component.css
new file mode 100755
index 0000000000..976ef61655
--- /dev/null
+++ b/aio/content/examples/accessibility/src/app/progress-bar.component.css
@@ -0,0 +1,12 @@
+ :host {
+ display: block;
+ width: 300px;
+ height: 25px;
+ border: 1px solid black;
+ margin-top: 16px;
+ }
+
+ .bar {
+ background: blue;
+ height: 100%;
+ }
\ No newline at end of file
diff --git a/aio/content/examples/accessibility/src/app/progress-bar.component.ts b/aio/content/examples/accessibility/src/app/progress-bar.component.ts
new file mode 100755
index 0000000000..fe1f5d8c73
--- /dev/null
+++ b/aio/content/examples/accessibility/src/app/progress-bar.component.ts
@@ -0,0 +1,28 @@
+// #docregion progressbar-component
+import { Component, Input } from '@angular/core';
+
+/**
+ * Example progressbar component.
+ */
+@Component({
+ selector: 'app-example-progressbar',
+ template: ``,
+ styleUrls: ['./progress-bar.component.css'],
+ host: {
+ // Sets the role for this component to "progressbar"
+ role: 'progressbar',
+
+ // Sets the minimum and maximum values for the progressbar role.
+ 'aria-valuemin': '0',
+ 'aria-valuemax': '100',
+
+ // Binding that updates the current value of the progressbar.
+ '[attr.aria-valuenow]': 'value',
+ }
+})
+export class ExampleProgressbarComponent {
+ /** Current value of the progressbar. */
+ @Input() value = 0;
+}
+
+// #enddocregion progressbar-component
diff --git a/aio/content/examples/accessibility/src/index.html b/aio/content/examples/accessibility/src/index.html
new file mode 100644
index 0000000000..8c4042ea2d
--- /dev/null
+++ b/aio/content/examples/accessibility/src/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+ Accessibility Example
+
+
+
+
+
+
+ Loading...
+
+
diff --git a/aio/content/examples/accessibility/src/main.ts b/aio/content/examples/accessibility/src/main.ts
new file mode 100644
index 0000000000..a9ca1caf8c
--- /dev/null
+++ b/aio/content/examples/accessibility/src/main.ts
@@ -0,0 +1,11 @@
+import { enableProdMode } from '@angular/core';
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app/app.module';
+import { environment } from './environments/environment';
+
+if (environment.production) {
+ enableProdMode();
+}
+
+platformBrowserDynamic().bootstrapModule(AppModule);
diff --git a/aio/content/examples/accessibility/stackblitz.json b/aio/content/examples/accessibility/stackblitz.json
new file mode 100644
index 0000000000..f3ee46960b
--- /dev/null
+++ b/aio/content/examples/accessibility/stackblitz.json
@@ -0,0 +1,10 @@
+{
+ "description": "Accessibility",
+ "files": [
+ "!**/*.d.ts",
+ "!**/*.js",
+ "!**/*.[1,2].*"
+ ],
+ "file": "src/app/app.component.ts",
+ "tags": ["Accessibility"]
+}
diff --git a/aio/content/guide/accessibility.md b/aio/content/guide/accessibility.md
index 4fa3a927cd..5cc3c52252 100644
--- a/aio/content/guide/accessibility.md
+++ b/aio/content/guide/accessibility.md
@@ -84,48 +84,15 @@ The following example shows how to make a simple progress bar accessible by usin
* The component defines an accessibility-enabled element with both the standard HTML attribute `role`, and ARIA attributes. The ARIA attribute `aria-valuenow` is bound to the user's input.
- ```ts
- import { Component, Input } from '@angular/core';
- /**
- * Example progressbar component.
- */
- @Component({
- selector: 'example-progressbar',
- template: ``,
- styleUrls: ['./progress-bar.css'],
- host: {
- // Sets the role for this component to "progressbar"
- role: 'progressbar',
+
- // Sets the minimum and maximum values for the progressbar role.
- 'aria-valuemin': '0',
- 'aria-valuemax': '100',
-
- // Binding that updates the current value of the progressbar.
- '[attr.aria-valuenow]': 'value',
- }
- })
- export class ExampleProgressbar {
- /** Current value of the progressbar. */
- @Input() value: number = 0;
- }
- ```
* In the template, the `aria-label` attribute ensures that the control is accessible to screen readers.
- ```html
-
+
-
-
-
- ```
-[See the full example in StackBlitz](https://stackblitz.com/edit/angular-kn5jdi?file=src%2Fapp%2Fapp.component.html).
+To see the progress bar in a working example app, refer to the .
## Routing and focus management