SlideShare ist ein Scribd-Unternehmen logo
1 von 108
Downloaden Sie, um offline zu lesen
St. Pölten University of Applied SciencesSt. Pölten University of Applied Sciences
Platzhalter für möglichen
Bildeinsatz
Basics of Web Technologies
Andreas Jakl
WS 2017
Digital Healthcare
FH St. Pölten
Platzhalter für möglichen
Bildeinsatz
Andreas Jakl
▪ Focus areas
▪ AR / VR, mobile apps, sensors, interaction
technology, software architecture, open source
developer (NFC, Bluetooth Beacons)
▪ Microsoft MVP (Most Valuable Professional)
▪ mobility.builders community: Mobile Developer
After-Work Events
▪ Previous Experience
▪ Tieto, Start-up (Mopius), Nokia (Finland),
Siemens Mobile (Munich), FH Hagenberg
(Mobile Computing)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
https://www.andreasjakl.com/
@andijakl
andreas.jakl@fhstp.ac.at
Contents
▪ Target Audience (mobile vs. desktop)
▪ Web site technologies
▪ Structure & content: HTML / HTML5
▪ Styling: CSS
▪ Interactivity & scripting languages: JavaScript
▪ Behind the Scenes
▪ Client vs Server
▪ HTTP and web requests
▪ IP address & server location
▪ Accessibility
▪ Content Management Systems: Wordpress
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
TARGET AUDIENCE?
Who is your
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Source: http://gs.statcounter.com/platform-market-share/desktop-mobile-tablet
Austria
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Source: http://gs.statcounter.com/platform-market-share/desktop-mobile-tablet
Worldwide
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Source: IDC, http://www.idc.com/promo/smartphone-market-share/os
WEB TECHNOLOGIES
What drives the Internet?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
What is the Web?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
What is the Web?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
What is the Web?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
HTML
▪ Language
▪ Defines structure of web sites
▪ HTML5: Set of technologies
▪ Including styling & more
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
W3C’s HTML5 logo
YOUR OWN WEBSITE
Creating
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Exercise
▪ Create your first web site
▪ Notepad
▪ Recommended: Notepad++
▪ Create file: helloworld.html
▪ Open with browser
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<body>
<h1>Hello world!</h1>
</body>
</html>
Developing for Web
▪ Text editors
▪ Notepad++
▪ IDEs
▪ Visual Studio Code
▪ Free & open source
▪ Windows, Mac, Linux
▪ Web app itself!
▪ Atom
▪ Webstorm
▪ …
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
HTML 5 Doctype
▪ First line of every HTML file
▪ Informs browser about HTML version used
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
HTML Tags
▪ Describe structure of document
▪ <tagname>content</tagname>
▪ Normally in pairs
▪ Closing tag = same name as opening, but with forward slash “/”
▪ Tag overview
▪ https://www.w3schools.com/tags/
▪ Page structure: <html>, <head>, <body>
▪ Content structure: <p>, <h1>…<h6>, <a>, <img>, <div>, <span>
▪ Content format: <br>, <strong>, <em>
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Root Element
▪ Should specify display language
▪ Especially for screen readers
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<html lang="en">
<head> element
▪ Contains metadata about the page
▪ Charset
▪ Page title
▪ (Links to) required files (style, interactivity, etc.)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<body> element
▪ Main page content
▪ Text, images, …
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Error Handling
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<html>
</head>
<body>
Hello world!
HTML document with
errors
By default no errors
shown
Nearly all HTML pages have 1+ error.
Thankfully, browsers are very forgiving.
Special Characters
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
“<“ opens a tag.
What if I need
“<“ in text?
Special Characters
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Char Write as
“ &quot;
& &amp;
< &lt;
> &gt;
ä &auml;
ö &ouml;
ü &uuml;
ß &szlig;
Exercise
▪ Create a simple page about yourself
▪ Headline with your name <h1>text</h1>
▪ Your photo <img src=“you.jpg”>
▪ A paragraph with your short bio <p>text</p>
▪ Link to your Linkedin / Xing / Facebook profile <a href=“http://...”>text</a>
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Syntax Style Recommendations
▪ Lowercase for elements and attributes
▪ Close elements that contain content
▪ <p>Text</p>
▪ Always use quotes
▪ Consistency – sometimes they are required (declaring multiple classes,
separated by spaces)
▪ Omit trailing slash from elements with no content
▪ <br> instead of <br/>
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
STYLING
Your first website looks a bit boring, right?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Styling
▪ Cascading Style Sheets (CSS)
▪ Style language
▪ Describes how HTML markup is presented
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Structure / Content Style Visual Output+ =
.css files
▪ Definition: directly in .html file
or in external .css file (recommended)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
style.css
index.html
contact.html
Styling Structure (Element Selector)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<p>Have fun!</p>
</body>
</html>
h1 {
color: red;
}
p {
color: blue;
}
style.html
style.css
More flexible: Class Selector
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<link href="style-class.css"
rel="stylesheet" type="text/css">
</head>
<body>
<h1 class="highlight">Hello world!</h1>
<p>Welcome to my website.</p>
<h2 class="notimportant">Instructions</h2>
<p class="notimportant">Have fun!</p>
</body>
</html>
h1 {
color: red;
}
p {
color: blue;
}
.highlight {
background: yellow;
font-style: italic;
}
.notimportant {
color: gray;
font-size: 10px;
}
style-class.css
style-class.html
Overwritten Styles? Inspect!
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Activate Developer Tools (Chrome, Firefox, Edge)
Overwritten Styles? Inspect!
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
1. Activate Developer Tools (Chrome, Firefox, Edge)
2. Activate element selection mode
3. Select element to inspect
4. Check applied style
Generic blue color of p overwritten
by more specific .notimportant class
Overwritten Styles? Inspect!
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
1. Activate Developer Tools (Chrome, Firefox, Edge)
2. Activate element selection mode
3. Select element to inspect
4. Check applied style
Generic blue color of p overwritten
by more specific .notimportant class
Live editing of styles
Multi-Class
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<link href="style-class.css" rel="stylesheet"
type="text/css">
</head>
<body>
<h1 class="highlight">Hello world!</h1>
<p>Welcome to my website.</p>
<h2 class="notimportant">Instructions</h2>
<p class="notimportant highlight">Have fun!</p>
</body>
</html>
Unique: ID Selector
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<link href="style-id.css"
rel="stylesheet" type="text/css">
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
</body>
</html>
h1 {
color: red;
}
p {
color: blue;
}
#instructionstext {
color: green;
font-size: 40px;
}
style-id.cssstyle-id.html
Unique: ID Selector
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<link href="style-id.css"
rel="stylesheet" type="text/css">
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
</body>
</html>
h1 {
color: red;
}
p {
color: blue;
}
#instructionstext {
color: green;
font-size: 40px;
}
style-id.cssstyle-id.html
Inline Style
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<p style="color: blue;">Have fun!</p>
</body>
</html>
Mostly used by
automatically generated
code.
style-inline.html
CONTAINERS
<div> and <span>
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<div>: Large areas
▪ No default meaning and style
▪ Free-form container / section
▪ Group elements to format them with CSS
▪ Placeable everywhere for layouting web page
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<div> Example
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<link href="style-div.css"
rel="stylesheet" type="text/css">
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<div style="background-color:yellow; ">
<h1>Footer</h1>
<p>Have fun!</p>
</div>
</body>
</html>
style-div.html
<span>: Formatting words
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<body>
<h1>Hello world!</h1>
<p>Welcome <span>to</span> my <span
style="background-color:
lightskyblue;">website</span>.</p>
</body>
</html>
style-span.html
JAVASCRIPT
Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
JavaScript
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Structure / Content Style Interactivity / Logic
CSS JavaScript
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
Good to have
Return to style-id.html example
script.html
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
Reference file containing
JavaScript code
script.html
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
Button that executes function
when clicked.
script.html
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
function onButtonClick() {
document.getElementById('instructionstext').innerHTML = "Yeah, baby";
}
script.js
script.html
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
function onButtonClick() {
document.getElementById('instructionstext').innerHTML = "Yeah, baby";
}
script.js
script.html
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
function onButtonClick() {
document.getElementById('instructionstext').innerHTML = "Yeah, baby";
}
script.js
script.html
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
function onButtonClick() {
document.getElementById('instructionstext').innerHTML = "Yeah, baby";
}
script.js
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
function onButtonClick() {
document.getElementById('instructionstext').innerHTML = "Yeah, baby";
console.log("Secret message");
}
script.js
new
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
function onButtonClick() {
document.getElementById('instructionstext').innerHTML = "Yeah, baby";
console.log("Secret message");
}
script.js
new
Exercise: Add Interactivity
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link href="style-id.css" rel="stylesheet" type="text/css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello world!</h1>
<p>Welcome to my website.</p>
<h2>Instructions</h2>
<p id="instructionstext">Have fun!</p>
<button onclick="onButtonClick()">Click me!</button>
</body>
</html>
new
new
function onButtonClick() {
document.getElementById('instructionstext').innerHTML = "Yeah, baby";
console.log("Secret message");
alert("Welcome back!");
}
script.js
new
Note
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
JavaScript
≠
Java is a Trademark and programming language by Oracle.
It has nothing to do with JavaScript (which is an implementation of ECMAScript)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Most popular programming languages 2017
https://insights.stackoverflow.com/survey/2017#technology
Exercise: Examine a Website
▪ Explore a website with the browser debug tools
▪ See what kind of JavaScript is included
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
BEHIND THE SCENES
Track the Internet – Protocols & More
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Server-Side?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
client server
request
response
Server-Side?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
client server
request
response
Technology:
Node.js, PHP, ASP.net, Java, …
Technology:
Browser: HTML, CSS, JavaScript
Look Behind the Scenes
▪ Free tools to view web traffic
▪ Fiddler: https://www.telerik.com/download/fiddler-wizard
▪ WireShark: https://www.wireshark.org/
▪ Analyze what’s sent and received
▪ What are apps doing behind your back?
▪ Can partly also peek into HTTPS traffic
▪ Identify communication issues in your apps
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Loading
https://www.andreasjakl.com/ in
the browser
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Request from client to server
Includes info about browser,
preferred language, etc.
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
GET request using the HTTP/1.1
protocol
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Server response using HTTP/1.1:
200 OK
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Server sets a cookie, sends some
info about upcoming content
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
And finally: the HTML content of
the website!
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Afterwards: separate requests to
load images, JavaScript, styles,
etc.
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
On the server computer, a webserver is handling
all your requests.
Most common: Apache, Microsoft IIS and nginx.
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
1. Find out IP address of website
2. Look up approx. server location (e.g., iplocation.com)
Where is the server
located?
Usually, you don’t care.
But close by is faster than
over the pond.
Exercise
▪ Analyze web requests with Fiddler / WireShark
▪ Successfully load your favorite website
▪ Which web server is running it?
▪ Where is the server located?
▪ What happens if you open a page on the server that doesn’t exist?
▪ What other traffic can you see on your PC / Mac?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
ACCESSIBILITY
Everyone should be able to access your website & app!
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Accessibility Examples
▪ Color vision deficiency (red/green, yellow/blue)
▪ Visual impairments / low vision
▪ High contrast mode
▪ Magnification
▪ Blind
▪ Screen reader, Braille
▪ Motor / dexterity impairments
▪ Keyboard, voice control, eye tracking
▪ Hearing impairment
▪ Video captions & transcripts
▪ Cognitive impairments
▪ Diverse, but e.g., minimalist design
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
5% of population, mainly men
Screen reading in sunlight.
Also comes with age.
Broken wrist? Trackpad broken?
Holding baby in the arm?
Also comes with age!
Watch video in office (Facebook)
Important for
many, many
people!
Windows Narrator
▪ Activate Windows 10 Narrator
▪ https://support.microsoft.com/en-us/help/22798
▪ Other popular software: JAWS, Mac: Voice Over (built-in)
▪ Main keys
▪ Caps lock + left/right arrow: move between items
▪ Caps lock + up/down arrow: change Narrator view (items, characters, words, links, headings, …)
▪ Caps lock + Enter: activate selected item
▪ Scan mode: Activate with Caps lock + Space bar
▪ H: Move to next heading. Then press Down Arrow to read contents
▪ D: Next landmark
▪ K: Next Link
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Screen reader examples
https://www.youtube.com/watch?v=QW_dUs9D1oQ
https://www.youtube.com/watch?v=Oo4HoeL6yIE
Narrator
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Heading Level 3 Link:
More realistic HoloLens
Spectator View Photos
Exercise
▪ Try reading a website with Narrator
▪ Recommended: on Windows, use Edge for better Narrator integration
▪ Check free Web Accessibility course
▪ https://www.udacity.com/course/web-accessibility--ud891
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Views on HTML Code
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Image by Google, CC BY 3.0
https://developers.google.com/web/fundamentals/accessibility/semantics-builtin/
Exercise: Focus
▪ Navigate around website
▪ http://udacity.github.io/ud891/lesso
n2-focus/01-basic-form/
▪ No mouse control: you can’t cheat
☺
▪ Completed form: simply clears
(no success message)
▪ Next, try using a simulated screen
reader
▪ http://udacity.github.io/ud891/lesso
n3-semantics-built-in/02-
chromevox-lite/
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Specify ticket parameters:
- Round trip
- to Melbourne
- leaving on 12 October 2017 (10/12/2017)
- returning on 23 October 2017 (10/23/2017)
- window seat
- do not want to receive promotional offers
IMPROVING ACCESSIBILITY
What can you do to make it better?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Web Content Accessibility
▪ Guidelines and best practices
▪ Four principles
▪ Perceivable
▪ Operable
▪ Understandable
▪ Robust
▪ https://www.w3.org/WAI/intro/wcag
▪ Checklists:
▪ http://webaim.org/standards/wcag/checklist
▪ https://www.w3.org/WAI/WCAG20/quickref/
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Legal Requirements
▪ EU
▪ Level AA of WCAG 2.0: Compulsory for public sector websites from
▪ 09/2019 (new websites)
▪ 09/2020 (old websites)
▪ 06/2021 (mobile apps)
▪ http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32016L2102#d1e1150-1-1
▪ Austria
▪ 1.1.2016, “Bundes-Behindertengleichstellungsgesetz”
▪ Accessibility in IKT since 1.1.2006
▪ https://www.digitales.oesterreich.gv.at/barrierefreiheit
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Labels
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Visible label Text alternative
(invisible)
Checked, “Subscribe
to newsletter”,
Checkbox.
Image, “Surface Dial”
Labels
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Checked, “Subscribe
to newsletter”,
Checkbox.
Image, “Surface Dial”
<form>
<input type="checkbox" checked name="subscribe"
id="formsubscribe">
<label for="formsubscribe">Subscribe to
newsletter</label>
<button>Submit</button>
</form>
<img
src="https://www.andreasjakl.com/[...]/SurfaceDial.jpg"
alt="Surface Dial" width="20%" height="20%">
Header Structure
▪ Headers are important structure &
navigation info
▪ <h1>…<h6> ordered by importance
▪ Also important for search engines
▪ Check website structure, e.g.:
▪ https://en.wikipedia.org/wiki/Accessi
bility
▪ Analyze headings, e.g., with
http://www.seoreviewtools.com/html
-headings-checker/
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
H1: Accessibility
H2: Contents
H2: Legislation[edit]
H2: Assistive technology and adaptive technology[edit]
H2: Employment[edit]
H2: Planning for accessibility[edit]
H2: Transportation[edit]
H2: Housing[edit]
H2: Disability, information technology (IT) and telecommunications[edit]
H2: Education and accessibility for students[edit]
H2: See also[edit]
H2: References[edit]
H2: External links[edit]
H2: Navigation menu
H3: National legislation[edit]
H3: Disability Management (DM)[edit]
H3: Meeting and conference access[edit]
H3: Accessibility instruments[edit]
H3: Potentials of accessibility in planning practice[edit]
H3: Adapted automobiles for persons with disabilities[edit]
Link Accessibility
▪ Skimming through page for links with screen reader
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Anti-pattern:
“continue reading”
Better:
give context
Or: only make
title a link
Landmarks
▪ New in HTML5
▪ No default style, but easy to add styling with css for specific type
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Image from Udacity Web Accessibility course
ARIA
▪ Accessible Rich Internet Applications (ARIA)
▪ Additional attributes for HTML elements
▪ Allows finer control
▪ Only modifies accessibility. Not appearance, behavior, …
▪ Custom controls
▪ Live updates (alerts, …)
▪ Add additional help or description text (“Close” for “X” button)
▪ Examples: http://heydonworks.com/practical_aria_examples/
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten www.w3.org/WAI/intro/aria
<ul class="menubar" role="menubar" aria-label="Navigation Bar" onkeydown="OnMenubarKeydown(event);"
onclick="OnMenubarClick(event);">
<li class="first"><a role="menuitem" href="File.htm">File</a>
<ul role="menu" aria-hidden="true" onkeydown="OnMenuKeydown(event);" onclick="OnMenuClick(event);">
<li><a role="menuitem" onkeydown="subMenuKeydown(event);" href="Open.htm">Open</a></li>
<li><a role="menuitem" onkeydown="subMenuKeydown(event);" href="Save.htm">Save</a></li>
Exercise: Analyze your Website
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
http://wave.webaim.org/
Color Values
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
https://www.w3schools.com/colors/colors_converter.asp
Color Blindness
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
What do these images look like for someone with red/green color deficit? (Deuteranope )
Color Blindness
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
What do these images look like for someone with red/green color deficit? (Deuteranope )
Simulation: http://www.vischeck.com/vischeck/vischeckImage.php
Color Contrast: Is it OK?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Large text sample
Regular text sample
Large text sample
Regular text sample
Text: rgb(48, 250, 123)
BG: rgb(170, 187, 204)
Text: rgb(255, 51, 153)
BG: rgb(170, 187, 204)
Specification: https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast
Colors: Is the contrast OK?
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Large text sample
Regular text sample
Large text sample
Regular text sample
Contrast ratio: 1.41:1
Fail: The luminosity contrast ratio is
insufficient for the chosen colors.
http://juicystudio.com/services/luminositycontrastratio.php#specify
Contrast ratio: 3.30:1
Passed at Level AA for large text
only: If the text is large text (at least
18 point or 14 point bold), the
luminosity contrast ratio is sufficient
for the chosen colors
Exercise: Mobile Accessibility
▪ Try navigating a web site with the screen reader!
▪ Android: TalkBack
▪ iOS: VoiceOver
▪ Windows: Narrator
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Final Exercise 1
▪ Build a simple website
▪ Describe your hobbies or anything else
▪ At least 2 HTML pages that link to each other
▪ At least 2 different header levels (<h1>, <h2>)
▪ 1 common style sheet (CSS) used by both pages
▪ CSS defines at least 2 styles
▪ Include at least 2 images
▪ Keep accessibility in mind and test with screen reader! (color combinations, page
structure)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
WORDPRESS
Managing Content
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Creating Content
▪ Manually writing complete web sites with HTML: too time-consuming
▪ Content Management Systems (CMS)
▪ Write pages, articles, blog, static content
▪ Themes
▪ Plug-Ins (statistics, visual effects, security, …)
▪ Multi-user access
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
▪ CMS
▪ Wordpress.org: Open Source for self-hosting
▪ Wordpress.com: Includes hosting, commercial
▪ Free & commercial themes and plug-ins
▪ Stats
▪ 28% of the web is using WordPress (https://wordpress.org/)
▪ Austria: 38% (http://www.cmscrawler.com/country/AT#)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
WordPress Installation
1. Check requirements:
▪ https://wordpress.org/about/requirements/
2. Download latest version
▪ http://wordpress.org/download/
3. Extract to local folder on your PC
▪ E.g., C:tempwordpress
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Prepare Webspace
▪ Login and delete index.html
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Upload Wordpress
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Find out Database Name
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
!
Configuration
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
▪ Database name: from
phpmyadmin
▪ Username: from sign-up email
▪ Password: from sign-up email
▪ Database Host: see sign-up
email from host
▪ Table Prefix: wp_ is OK
Finalize Installation
▪ Configure your new website!
▪ Choose safe password
▪ Hackers love to hack WordPress
(it’s the most common web system
after all!)
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
LOGIN!
Exercise
▪ Create your own website
▪ Blog with 2 posts
▪ Add images
▪ Contact page
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Imprint
▪ Legally required
▪ https://www.help.gv.at/Portal.Node/hlpd/public/content/172/Seite.1720902.h
tml#Impressum
▪ Differentiates “large” and “small” websites
▪ Small: most personal web sites
▪ Name / company of owner
▪ Business purpose
▪ Place of residence
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Exercise
▪ Add imprint to your contact page
▪ Change the theme
▪ Experiment with Plug-Ins. Some recommendations:
▪ Wordfence Security
▪ Yoast SEO
▪ Responsive Lightbox
▪ Jetpack by WordPress.com
▪ Disqus Comment System
▪ Cookie Notice
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
Final Exercise 2
▪ Setup your own WordPress website
▪ 1 Post (News, blog, …)
▪ 1 Static page with info about you (short bio, photo)
▪ 1 Contact page, including imprint info
▪ Good-looking design
▪ Install & use at least 3 plug-ins
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
THANK YOU!
Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten

Weitere ähnliche Inhalte

Was ist angesagt?

Dirigible - Fast Prototyping in Front of Your Customer
Dirigible - Fast Prototyping in Front of Your CustomerDirigible - Fast Prototyping in Front of Your Customer
Dirigible - Fast Prototyping in Front of Your CustomerJordan Pavlov
 
Test+video+upload
Test+video+uploadTest+video+upload
Test+video+uploadTianwei_liu
 
Dirigible - What's new
Dirigible - What's newDirigible - What's new
Dirigible - What's newJordan Pavlov
 
Sg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleySg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleyn_adam_stanley
 
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...Codemotion
 
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdooMartin Wittemann
 
Cloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken WalkerCloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken Walkerjaxconf
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to presentwesley chun
 
Lesson 1. Create project Sunshine
Lesson 1. Create project SunshineLesson 1. Create project Sunshine
Lesson 1. Create project SunshineChanhyeong LEE
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
Dimpact wim bumpy road of building reusable platform for municipalities from...
Dimpact wim  bumpy road of building reusable platform for municipalities from...Dimpact wim  bumpy road of building reusable platform for municipalities from...
Dimpact wim bumpy road of building reusable platform for municipalities from...DrupalCamp Kyiv
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorIonic Framework
 
Drupal 8 preview_slideshow
Drupal 8 preview_slideshowDrupal 8 preview_slideshow
Drupal 8 preview_slideshowTee Malapela
 
The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMSInVision App
 
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...Acquia
 
Rapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsRapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsJesse Cravens
 
QCObjects 2020 Overview
QCObjects 2020 OverviewQCObjects 2020 Overview
QCObjects 2020 OverviewJean Machuca
 
Dayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webeditionDayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webeditionMartin Davis III
 
Michael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith
 

Was ist angesagt? (20)

Dirigible - Fast Prototyping in Front of Your Customer
Dirigible - Fast Prototyping in Front of Your CustomerDirigible - Fast Prototyping in Front of Your Customer
Dirigible - Fast Prototyping in Front of Your Customer
 
Test+video+upload
Test+video+uploadTest+video+upload
Test+video+upload
 
Dirigible - What's new
Dirigible - What's newDirigible - What's new
Dirigible - What's new
 
Sg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanleySg conference multiplatform_apps_adam_stanley
Sg conference multiplatform_apps_adam_stanley
 
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
 
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
10 Jahre Webentwicklung - am Beispiel des Frameworks qooxdoo
 
Cloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken WalkerCloud development goes lightweight - Ken Walker
Cloud development goes lightweight - Ken Walker
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to present
 
Lesson 1. Create project Sunshine
Lesson 1. Create project SunshineLesson 1. Create project Sunshine
Lesson 1. Create project Sunshine
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Dimpact wim bumpy road of building reusable platform for municipalities from...
Dimpact wim  bumpy road of building reusable platform for municipalities from...Dimpact wim  bumpy road of building reusable platform for municipalities from...
Dimpact wim bumpy road of building reusable platform for municipalities from...
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
 
Drupal 8 preview_slideshow
Drupal 8 preview_slideshowDrupal 8 preview_slideshow
Drupal 8 preview_slideshow
 
The future of the CMS
The future of the CMSThe future of the CMS
The future of the CMS
 
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
 
Rapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsRapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.js
 
QCObjects 2020 Overview
QCObjects 2020 OverviewQCObjects 2020 Overview
QCObjects 2020 Overview
 
Android instant app
Android instant appAndroid instant app
Android instant app
 
Dayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webeditionDayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webedition
 
Michael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 Presentation
 

Ähnlich wie Basics of Web Technologies

Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesPlatypus
 
Style Your Site Part 2
Style Your Site Part 2Style Your Site Part 2
Style Your Site Part 2Ben MacNeill
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...SPTechCon
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEric Overfield
 
JohnBraccialeResume2015
JohnBraccialeResume2015JohnBraccialeResume2015
JohnBraccialeResume2015John Bracciale
 
UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012impulsedev
 
Byowwhc110
Byowwhc110Byowwhc110
Byowwhc110Thinkful
 
Byowwhc117
Byowwhc117Byowwhc117
Byowwhc117Thinkful
 
Byowwhc117
Byowwhc117Byowwhc117
Byowwhc117Thinkful
 
Designing your SharePoint Internet site: The basics
Designing your SharePoint Internet site: The basicsDesigning your SharePoint Internet site: The basics
Designing your SharePoint Internet site: The basicsC/D/H Technology Consultants
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsTeamstudio
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.docbutest
 
Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016Stefan Bauer
 
Curtin University Frontend Web Development
Curtin University Frontend Web DevelopmentCurtin University Frontend Web Development
Curtin University Frontend Web DevelopmentDaryll Chu
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptTodd Anglin
 
Branding Modern SharePoint
Branding Modern SharePointBranding Modern SharePoint
Branding Modern SharePointEric Overfield
 

Ähnlich wie Basics of Web Technologies (20)

Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
 
Style Your Site Part 2
Style Your Site Part 2Style Your Site Part 2
Style Your Site Part 2
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
JohnBraccialeResume2015
JohnBraccialeResume2015JohnBraccialeResume2015
JohnBraccialeResume2015
 
UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012
 
Byowwhc314
Byowwhc314Byowwhc314
Byowwhc314
 
Demystifying HTML5
Demystifying HTML5Demystifying HTML5
Demystifying HTML5
 
Byowwhc110
Byowwhc110Byowwhc110
Byowwhc110
 
Byowwhc117
Byowwhc117Byowwhc117
Byowwhc117
 
Byowwhc117
Byowwhc117Byowwhc117
Byowwhc117
 
Designing your SharePoint Internet site: The basics
Designing your SharePoint Internet site: The basicsDesigning your SharePoint Internet site: The basics
Designing your SharePoint Internet site: The basics
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.doc
 
Best Practices for SharePoint Public Websites
Best Practices for SharePoint Public WebsitesBest Practices for SharePoint Public Websites
Best Practices for SharePoint Public Websites
 
Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016
 
Byowwhc26
Byowwhc26Byowwhc26
Byowwhc26
 
Curtin University Frontend Web Development
Curtin University Frontend Web DevelopmentCurtin University Frontend Web Development
Curtin University Frontend Web Development
 
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScriptHTML5 Bootcamp: Essential HTML, CSS, & JavaScript
HTML5 Bootcamp: Essential HTML, CSS, & JavaScript
 
Branding Modern SharePoint
Branding Modern SharePointBranding Modern SharePoint
Branding Modern SharePoint
 

Mehr von Andreas Jakl

AR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAndreas Jakl
 
Android Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndroid Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndreas Jakl
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndreas Jakl
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndreas Jakl
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Andreas Jakl
 
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreBluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreAndreas Jakl
 
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Andreas Jakl
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test AutomationAndreas Jakl
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Andreas Jakl
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneAndreas Jakl
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingAndreas Jakl
 
Windows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartWindows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartAndreas Jakl
 
Windows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosWindows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosAndreas Jakl
 
Windows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentWindows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentAndreas Jakl
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)Andreas Jakl
 
06 - Qt Communication
06 - Qt Communication06 - Qt Communication
06 - Qt CommunicationAndreas Jakl
 
05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics05 - Qt External Interaction and Graphics
05 - Qt External Interaction and GraphicsAndreas Jakl
 
03 - Qt UI Development
03 - Qt UI Development03 - Qt UI Development
03 - Qt UI DevelopmentAndreas Jakl
 

Mehr von Andreas Jakl (20)

AR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAR / VR Interaction Development with Unity
AR / VR Interaction Development with Unity
 
Android Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndroid Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App Management
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSON
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - Introduction
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)
 
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreBluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
 
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer Training
 
Windows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartWindows Phone 8 NFC Quickstart
Windows Phone 8 NFC Quickstart
 
Windows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosWindows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App Scenarios
 
Windows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentWindows 8 Platform NFC Development
Windows 8 Platform NFC Development
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)
 
06 - Qt Communication
06 - Qt Communication06 - Qt Communication
06 - Qt Communication
 
05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics
 
04 - Qt Data
04 - Qt Data04 - Qt Data
04 - Qt Data
 
03 - Qt UI Development
03 - Qt UI Development03 - Qt UI Development
03 - Qt UI Development
 
02 - Basics of Qt
02 - Basics of Qt02 - Basics of Qt
02 - Basics of Qt
 

Kürzlich hochgeladen

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 

Kürzlich hochgeladen (20)

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 

Basics of Web Technologies

  • 1. St. Pölten University of Applied SciencesSt. Pölten University of Applied Sciences Platzhalter für möglichen Bildeinsatz Basics of Web Technologies Andreas Jakl WS 2017 Digital Healthcare FH St. Pölten Platzhalter für möglichen Bildeinsatz
  • 2. Andreas Jakl ▪ Focus areas ▪ AR / VR, mobile apps, sensors, interaction technology, software architecture, open source developer (NFC, Bluetooth Beacons) ▪ Microsoft MVP (Most Valuable Professional) ▪ mobility.builders community: Mobile Developer After-Work Events ▪ Previous Experience ▪ Tieto, Start-up (Mopius), Nokia (Finland), Siemens Mobile (Munich), FH Hagenberg (Mobile Computing) Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten https://www.andreasjakl.com/ @andijakl andreas.jakl@fhstp.ac.at
  • 3. Contents ▪ Target Audience (mobile vs. desktop) ▪ Web site technologies ▪ Structure & content: HTML / HTML5 ▪ Styling: CSS ▪ Interactivity & scripting languages: JavaScript ▪ Behind the Scenes ▪ Client vs Server ▪ HTTP and web requests ▪ IP address & server location ▪ Accessibility ▪ Content Management Systems: Wordpress Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 4. TARGET AUDIENCE? Who is your Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 5. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Source: http://gs.statcounter.com/platform-market-share/desktop-mobile-tablet Austria
  • 6. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Source: http://gs.statcounter.com/platform-market-share/desktop-mobile-tablet Worldwide
  • 7. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Source: IDC, http://www.idc.com/promo/smartphone-market-share/os
  • 8. WEB TECHNOLOGIES What drives the Internet? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 9. What is the Web? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 10. What is the Web? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 11. What is the Web? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 12. HTML ▪ Language ▪ Defines structure of web sites ▪ HTML5: Set of technologies ▪ Including styling & more Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten W3C’s HTML5 logo
  • 13. YOUR OWN WEBSITE Creating Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 14. Exercise ▪ Create your first web site ▪ Notepad ▪ Recommended: Notepad++ ▪ Create file: helloworld.html ▪ Open with browser Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <body> <h1>Hello world!</h1> </body> </html>
  • 15. Developing for Web ▪ Text editors ▪ Notepad++ ▪ IDEs ▪ Visual Studio Code ▪ Free & open source ▪ Windows, Mac, Linux ▪ Web app itself! ▪ Atom ▪ Webstorm ▪ … Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 16. HTML 5 Doctype ▪ First line of every HTML file ▪ Informs browser about HTML version used Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html>
  • 17. HTML Tags ▪ Describe structure of document ▪ <tagname>content</tagname> ▪ Normally in pairs ▪ Closing tag = same name as opening, but with forward slash “/” ▪ Tag overview ▪ https://www.w3schools.com/tags/ ▪ Page structure: <html>, <head>, <body> ▪ Content structure: <p>, <h1>…<h6>, <a>, <img>, <div>, <span> ▪ Content format: <br>, <strong>, <em> Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 18. Root Element ▪ Should specify display language ▪ Especially for screen readers Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <html lang="en">
  • 19. <head> element ▪ Contains metadata about the page ▪ Charset ▪ Page title ▪ (Links to) required files (style, interactivity, etc.) Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 20. <body> element ▪ Main page content ▪ Text, images, … Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 21. Error Handling Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <html> </head> <body> Hello world! HTML document with errors By default no errors shown Nearly all HTML pages have 1+ error. Thankfully, browsers are very forgiving.
  • 22. Special Characters Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten “<“ opens a tag. What if I need “<“ in text?
  • 23. Special Characters Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Char Write as “ &quot; & &amp; < &lt; > &gt; ä &auml; ö &ouml; ü &uuml; ß &szlig;
  • 24. Exercise ▪ Create a simple page about yourself ▪ Headline with your name <h1>text</h1> ▪ Your photo <img src=“you.jpg”> ▪ A paragraph with your short bio <p>text</p> ▪ Link to your Linkedin / Xing / Facebook profile <a href=“http://...”>text</a> Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 25. Syntax Style Recommendations ▪ Lowercase for elements and attributes ▪ Close elements that contain content ▪ <p>Text</p> ▪ Always use quotes ▪ Consistency – sometimes they are required (declaring multiple classes, separated by spaces) ▪ Omit trailing slash from elements with no content ▪ <br> instead of <br/> Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 26. STYLING Your first website looks a bit boring, right? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 27. Styling ▪ Cascading Style Sheets (CSS) ▪ Style language ▪ Describes how HTML markup is presented Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Structure / Content Style Visual Output+ =
  • 28. .css files ▪ Definition: directly in .html file or in external .css file (recommended) Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten style.css index.html contact.html
  • 29. Styling Structure (Element Selector) Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <p>Have fun!</p> </body> </html> h1 { color: red; } p { color: blue; } style.html style.css
  • 30. More flexible: Class Selector Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <link href="style-class.css" rel="stylesheet" type="text/css"> </head> <body> <h1 class="highlight">Hello world!</h1> <p>Welcome to my website.</p> <h2 class="notimportant">Instructions</h2> <p class="notimportant">Have fun!</p> </body> </html> h1 { color: red; } p { color: blue; } .highlight { background: yellow; font-style: italic; } .notimportant { color: gray; font-size: 10px; } style-class.css style-class.html
  • 31. Overwritten Styles? Inspect! Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Activate Developer Tools (Chrome, Firefox, Edge)
  • 32. Overwritten Styles? Inspect! Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten 1. Activate Developer Tools (Chrome, Firefox, Edge) 2. Activate element selection mode 3. Select element to inspect 4. Check applied style Generic blue color of p overwritten by more specific .notimportant class
  • 33. Overwritten Styles? Inspect! Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten 1. Activate Developer Tools (Chrome, Firefox, Edge) 2. Activate element selection mode 3. Select element to inspect 4. Check applied style Generic blue color of p overwritten by more specific .notimportant class Live editing of styles
  • 34. Multi-Class Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <link href="style-class.css" rel="stylesheet" type="text/css"> </head> <body> <h1 class="highlight">Hello world!</h1> <p>Welcome to my website.</p> <h2 class="notimportant">Instructions</h2> <p class="notimportant highlight">Have fun!</p> </body> </html>
  • 35. Unique: ID Selector Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <link href="style-id.css" rel="stylesheet" type="text/css"> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> </body> </html> h1 { color: red; } p { color: blue; } #instructionstext { color: green; font-size: 40px; } style-id.cssstyle-id.html
  • 36. Unique: ID Selector Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <link href="style-id.css" rel="stylesheet" type="text/css"> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> </body> </html> h1 { color: red; } p { color: blue; } #instructionstext { color: green; font-size: 40px; } style-id.cssstyle-id.html
  • 37. Inline Style Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <p style="color: blue;">Have fun!</p> </body> </html> Mostly used by automatically generated code. style-inline.html
  • 38. CONTAINERS <div> and <span> Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 39. <div>: Large areas ▪ No default meaning and style ▪ Free-form container / section ▪ Group elements to format them with CSS ▪ Placeable everywhere for layouting web page Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 40. <div> Example Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <link href="style-div.css" rel="stylesheet" type="text/css"> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <div style="background-color:yellow; "> <h1>Footer</h1> <p>Have fun!</p> </div> </body> </html> style-div.html
  • 41. <span>: Formatting words Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <body> <h1>Hello world!</h1> <p>Welcome <span>to</span> my <span style="background-color: lightskyblue;">website</span>.</p> </body> </html> style-span.html
  • 42. JAVASCRIPT Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 43. JavaScript Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Structure / Content Style Interactivity / Logic CSS JavaScript
  • 44. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new Good to have Return to style-id.html example script.html
  • 45. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new Reference file containing JavaScript code script.html
  • 46. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new Button that executes function when clicked. script.html
  • 47. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new function onButtonClick() { document.getElementById('instructionstext').innerHTML = "Yeah, baby"; } script.js script.html
  • 48. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new function onButtonClick() { document.getElementById('instructionstext').innerHTML = "Yeah, baby"; } script.js script.html
  • 49. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new function onButtonClick() { document.getElementById('instructionstext').innerHTML = "Yeah, baby"; } script.js script.html
  • 50. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new function onButtonClick() { document.getElementById('instructionstext').innerHTML = "Yeah, baby"; } script.js
  • 51. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new function onButtonClick() { document.getElementById('instructionstext').innerHTML = "Yeah, baby"; console.log("Secret message"); } script.js new
  • 52. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new function onButtonClick() { document.getElementById('instructionstext').innerHTML = "Yeah, baby"; console.log("Secret message"); } script.js new
  • 53. Exercise: Add Interactivity Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <link href="style-id.css" rel="stylesheet" type="text/css"> <script src="script.js"></script> </head> <body> <h1>Hello world!</h1> <p>Welcome to my website.</p> <h2>Instructions</h2> <p id="instructionstext">Have fun!</p> <button onclick="onButtonClick()">Click me!</button> </body> </html> new new function onButtonClick() { document.getElementById('instructionstext').innerHTML = "Yeah, baby"; console.log("Secret message"); alert("Welcome back!"); } script.js new
  • 54. Note Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten JavaScript ≠ Java is a Trademark and programming language by Oracle. It has nothing to do with JavaScript (which is an implementation of ECMAScript)
  • 55. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Most popular programming languages 2017 https://insights.stackoverflow.com/survey/2017#technology
  • 56. Exercise: Examine a Website ▪ Explore a website with the browser debug tools ▪ See what kind of JavaScript is included Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 57. BEHIND THE SCENES Track the Internet – Protocols & More Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 58. Server-Side? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten client server request response
  • 59. Server-Side? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten client server request response Technology: Node.js, PHP, ASP.net, Java, … Technology: Browser: HTML, CSS, JavaScript
  • 60. Look Behind the Scenes ▪ Free tools to view web traffic ▪ Fiddler: https://www.telerik.com/download/fiddler-wizard ▪ WireShark: https://www.wireshark.org/ ▪ Analyze what’s sent and received ▪ What are apps doing behind your back? ▪ Can partly also peek into HTTPS traffic ▪ Identify communication issues in your apps Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 61. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Loading https://www.andreasjakl.com/ in the browser
  • 62. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Request from client to server Includes info about browser, preferred language, etc.
  • 63. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten GET request using the HTTP/1.1 protocol
  • 64. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Server response using HTTP/1.1: 200 OK
  • 65. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Server sets a cookie, sends some info about upcoming content
  • 66. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten And finally: the HTML content of the website!
  • 67. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Afterwards: separate requests to load images, JavaScript, styles, etc.
  • 68. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten On the server computer, a webserver is handling all your requests. Most common: Apache, Microsoft IIS and nginx.
  • 69. Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten 1. Find out IP address of website 2. Look up approx. server location (e.g., iplocation.com) Where is the server located? Usually, you don’t care. But close by is faster than over the pond.
  • 70. Exercise ▪ Analyze web requests with Fiddler / WireShark ▪ Successfully load your favorite website ▪ Which web server is running it? ▪ Where is the server located? ▪ What happens if you open a page on the server that doesn’t exist? ▪ What other traffic can you see on your PC / Mac? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 71. ACCESSIBILITY Everyone should be able to access your website & app! Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 72. Accessibility Examples ▪ Color vision deficiency (red/green, yellow/blue) ▪ Visual impairments / low vision ▪ High contrast mode ▪ Magnification ▪ Blind ▪ Screen reader, Braille ▪ Motor / dexterity impairments ▪ Keyboard, voice control, eye tracking ▪ Hearing impairment ▪ Video captions & transcripts ▪ Cognitive impairments ▪ Diverse, but e.g., minimalist design Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten 5% of population, mainly men Screen reading in sunlight. Also comes with age. Broken wrist? Trackpad broken? Holding baby in the arm? Also comes with age! Watch video in office (Facebook) Important for many, many people!
  • 73. Windows Narrator ▪ Activate Windows 10 Narrator ▪ https://support.microsoft.com/en-us/help/22798 ▪ Other popular software: JAWS, Mac: Voice Over (built-in) ▪ Main keys ▪ Caps lock + left/right arrow: move between items ▪ Caps lock + up/down arrow: change Narrator view (items, characters, words, links, headings, …) ▪ Caps lock + Enter: activate selected item ▪ Scan mode: Activate with Caps lock + Space bar ▪ H: Move to next heading. Then press Down Arrow to read contents ▪ D: Next landmark ▪ K: Next Link Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Screen reader examples https://www.youtube.com/watch?v=QW_dUs9D1oQ https://www.youtube.com/watch?v=Oo4HoeL6yIE
  • 74. Narrator Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Heading Level 3 Link: More realistic HoloLens Spectator View Photos
  • 75. Exercise ▪ Try reading a website with Narrator ▪ Recommended: on Windows, use Edge for better Narrator integration ▪ Check free Web Accessibility course ▪ https://www.udacity.com/course/web-accessibility--ud891 Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 76. Views on HTML Code Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Image by Google, CC BY 3.0 https://developers.google.com/web/fundamentals/accessibility/semantics-builtin/
  • 77. Exercise: Focus ▪ Navigate around website ▪ http://udacity.github.io/ud891/lesso n2-focus/01-basic-form/ ▪ No mouse control: you can’t cheat ☺ ▪ Completed form: simply clears (no success message) ▪ Next, try using a simulated screen reader ▪ http://udacity.github.io/ud891/lesso n3-semantics-built-in/02- chromevox-lite/ Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Specify ticket parameters: - Round trip - to Melbourne - leaving on 12 October 2017 (10/12/2017) - returning on 23 October 2017 (10/23/2017) - window seat - do not want to receive promotional offers
  • 78. IMPROVING ACCESSIBILITY What can you do to make it better? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 79. Web Content Accessibility ▪ Guidelines and best practices ▪ Four principles ▪ Perceivable ▪ Operable ▪ Understandable ▪ Robust ▪ https://www.w3.org/WAI/intro/wcag ▪ Checklists: ▪ http://webaim.org/standards/wcag/checklist ▪ https://www.w3.org/WAI/WCAG20/quickref/ Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 80. Legal Requirements ▪ EU ▪ Level AA of WCAG 2.0: Compulsory for public sector websites from ▪ 09/2019 (new websites) ▪ 09/2020 (old websites) ▪ 06/2021 (mobile apps) ▪ http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32016L2102#d1e1150-1-1 ▪ Austria ▪ 1.1.2016, “Bundes-Behindertengleichstellungsgesetz” ▪ Accessibility in IKT since 1.1.2006 ▪ https://www.digitales.oesterreich.gv.at/barrierefreiheit Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 81. Labels Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Visible label Text alternative (invisible) Checked, “Subscribe to newsletter”, Checkbox. Image, “Surface Dial”
  • 82. Labels Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Checked, “Subscribe to newsletter”, Checkbox. Image, “Surface Dial” <form> <input type="checkbox" checked name="subscribe" id="formsubscribe"> <label for="formsubscribe">Subscribe to newsletter</label> <button>Submit</button> </form> <img src="https://www.andreasjakl.com/[...]/SurfaceDial.jpg" alt="Surface Dial" width="20%" height="20%">
  • 83. Header Structure ▪ Headers are important structure & navigation info ▪ <h1>…<h6> ordered by importance ▪ Also important for search engines ▪ Check website structure, e.g.: ▪ https://en.wikipedia.org/wiki/Accessi bility ▪ Analyze headings, e.g., with http://www.seoreviewtools.com/html -headings-checker/ Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten H1: Accessibility H2: Contents H2: Legislation[edit] H2: Assistive technology and adaptive technology[edit] H2: Employment[edit] H2: Planning for accessibility[edit] H2: Transportation[edit] H2: Housing[edit] H2: Disability, information technology (IT) and telecommunications[edit] H2: Education and accessibility for students[edit] H2: See also[edit] H2: References[edit] H2: External links[edit] H2: Navigation menu H3: National legislation[edit] H3: Disability Management (DM)[edit] H3: Meeting and conference access[edit] H3: Accessibility instruments[edit] H3: Potentials of accessibility in planning practice[edit] H3: Adapted automobiles for persons with disabilities[edit]
  • 84. Link Accessibility ▪ Skimming through page for links with screen reader Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Anti-pattern: “continue reading” Better: give context Or: only make title a link
  • 85. Landmarks ▪ New in HTML5 ▪ No default style, but easy to add styling with css for specific type Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Image from Udacity Web Accessibility course
  • 86. ARIA ▪ Accessible Rich Internet Applications (ARIA) ▪ Additional attributes for HTML elements ▪ Allows finer control ▪ Only modifies accessibility. Not appearance, behavior, … ▪ Custom controls ▪ Live updates (alerts, …) ▪ Add additional help or description text (“Close” for “X” button) ▪ Examples: http://heydonworks.com/practical_aria_examples/ Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten www.w3.org/WAI/intro/aria <ul class="menubar" role="menubar" aria-label="Navigation Bar" onkeydown="OnMenubarKeydown(event);" onclick="OnMenubarClick(event);"> <li class="first"><a role="menuitem" href="File.htm">File</a> <ul role="menu" aria-hidden="true" onkeydown="OnMenuKeydown(event);" onclick="OnMenuClick(event);"> <li><a role="menuitem" onkeydown="subMenuKeydown(event);" href="Open.htm">Open</a></li> <li><a role="menuitem" onkeydown="subMenuKeydown(event);" href="Save.htm">Save</a></li>
  • 87. Exercise: Analyze your Website Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten http://wave.webaim.org/
  • 88. Color Values Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten https://www.w3schools.com/colors/colors_converter.asp
  • 89. Color Blindness Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten What do these images look like for someone with red/green color deficit? (Deuteranope )
  • 90. Color Blindness Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten What do these images look like for someone with red/green color deficit? (Deuteranope ) Simulation: http://www.vischeck.com/vischeck/vischeckImage.php
  • 91. Color Contrast: Is it OK? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Large text sample Regular text sample Large text sample Regular text sample Text: rgb(48, 250, 123) BG: rgb(170, 187, 204) Text: rgb(255, 51, 153) BG: rgb(170, 187, 204) Specification: https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast
  • 92. Colors: Is the contrast OK? Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten Large text sample Regular text sample Large text sample Regular text sample Contrast ratio: 1.41:1 Fail: The luminosity contrast ratio is insufficient for the chosen colors. http://juicystudio.com/services/luminositycontrastratio.php#specify Contrast ratio: 3.30:1 Passed at Level AA for large text only: If the text is large text (at least 18 point or 14 point bold), the luminosity contrast ratio is sufficient for the chosen colors
  • 93. Exercise: Mobile Accessibility ▪ Try navigating a web site with the screen reader! ▪ Android: TalkBack ▪ iOS: VoiceOver ▪ Windows: Narrator Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 94. Final Exercise 1 ▪ Build a simple website ▪ Describe your hobbies or anything else ▪ At least 2 HTML pages that link to each other ▪ At least 2 different header levels (<h1>, <h2>) ▪ 1 common style sheet (CSS) used by both pages ▪ CSS defines at least 2 styles ▪ Include at least 2 images ▪ Keep accessibility in mind and test with screen reader! (color combinations, page structure) Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 95. WORDPRESS Managing Content Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 96. Creating Content ▪ Manually writing complete web sites with HTML: too time-consuming ▪ Content Management Systems (CMS) ▪ Write pages, articles, blog, static content ▪ Themes ▪ Plug-Ins (statistics, visual effects, security, …) ▪ Multi-user access Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 97. ▪ CMS ▪ Wordpress.org: Open Source for self-hosting ▪ Wordpress.com: Includes hosting, commercial ▪ Free & commercial themes and plug-ins ▪ Stats ▪ 28% of the web is using WordPress (https://wordpress.org/) ▪ Austria: 38% (http://www.cmscrawler.com/country/AT#) Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 98. WordPress Installation 1. Check requirements: ▪ https://wordpress.org/about/requirements/ 2. Download latest version ▪ http://wordpress.org/download/ 3. Extract to local folder on your PC ▪ E.g., C:tempwordpress Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 99. Prepare Webspace ▪ Login and delete index.html Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 100. Upload Wordpress Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 101. Find out Database Name Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten !
  • 102. Configuration Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten ▪ Database name: from phpmyadmin ▪ Username: from sign-up email ▪ Password: from sign-up email ▪ Database Host: see sign-up email from host ▪ Table Prefix: wp_ is OK
  • 103. Finalize Installation ▪ Configure your new website! ▪ Choose safe password ▪ Hackers love to hack WordPress (it’s the most common web system after all!) Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten LOGIN!
  • 104. Exercise ▪ Create your own website ▪ Blog with 2 posts ▪ Add images ▪ Contact page Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 105. Imprint ▪ Legally required ▪ https://www.help.gv.at/Portal.Node/hlpd/public/content/172/Seite.1720902.h tml#Impressum ▪ Differentiates “large” and “small” websites ▪ Small: most personal web sites ▪ Name / company of owner ▪ Business purpose ▪ Place of residence Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 106. Exercise ▪ Add imprint to your contact page ▪ Change the theme ▪ Experiment with Plug-Ins. Some recommendations: ▪ Wordfence Security ▪ Yoast SEO ▪ Responsive Lightbox ▪ Jetpack by WordPress.com ▪ Disqus Comment System ▪ Cookie Notice Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 107. Final Exercise 2 ▪ Setup your own WordPress website ▪ 1 Post (News, blog, …) ▪ 1 Static page with info about you (short bio, photo) ▪ 1 Contact page, including imprint info ▪ Good-looking design ▪ Install & use at least 3 plug-ins Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten
  • 108. THANK YOU! Basics of Web Technologies | 2017 | Andreas Jakl | FH St. Pölten