CSCI 185: Spring 2023

Introduction to Programming for the Web

CSCI 185: Spring 2023

Fish by @akeatk

Assignments > HW5: Make a fake portfolio website

Due on Fri, 03/03 @ 11:59PM. 25 Points.

Introduction

The goal of HW5 is to:

  1. Style a fake portfolio template to resemble the one in the animation shown below, and
  2. Make some design choices that better suit your own preferences and aesthetic sensibilities.
  3. Make it accessible to screen readers and web crawlers.

I have given you an index.html file with some “canned” content. Your job is to style this content by making changes to the styles.css file that you are given. When you’re done, your webpage should look like the one shown in this video – but your colors, fonts, icons, etc. should reflect your own choices.

General Guidelines

  • This exercise is primarily a CSS exercise that encourages you to practice what you have learned about the box model, flex, and CSS grid to instantiate some good rules of composition. Most of your required edits will be within the styles.css file (except for the navigation link edits, which must be done in index.html).
  • You are also welcome (but not required) to change the actual content of the portfolio in index.html file. For instance:
    • You can add additional class names or ids to make things easier for you to style, or
    • You can add additional images, icons, content, etc. to make the page look more like an actual portfolio of your work.
  • You can choose any fonts and colors that you want.
  • If you take your own liberties in terms of the design, just ensure that your site is accessible in terms of color contrast, and that you are following the rules of composition discussed in class.

Your Tasks

Please download the starter hw05 files and save them inside of your csci185/homework folder:

Homework 5 Starter Files

Then, complete the 8 sets of tasks described below. Read the checklist carefully, to ensure that you receive full credit for this assignment.

  1. Navigation (2 pts)
  2. Header (2 pts)
  3. About Me (1 pt)
  4. Projects (3 pts)
  5. Contact (5 pts)
  6. Footer (1 pt)
  7. Responsive Design (4 pts)
  8. Accessibility Features (5 pts)
  9. Publish to GitHub (2 pts)

Style the <nav></nav> section so that it matches the style of the screenshot below. Specifically, you will:

Style the <header></header> section so that it matches the style of the screenshot above. Specifically, you will:

3. About Me [1 pt]

Style the <section id="about"></section> section so that it matches the style of the screenshot below. Specifically, you will:

4. Projects [3 pts]

Style the <section id="projects"></section> section so that it matches the layout of the screenshot below. Specifically, you will:

5. Contact [5 pts]

Style the <section id="contact"></section> section so that it matches the style of the screenshot below. Specifically, you will:

Style the <footer></footer> section so that it matches the style of the screenshot above, with center-aligned text and a light gray background color.

7. Responsive Design [4 pts]

Make a media query for screen dimensions where the width of the screen falls below 800px. Within this media query, implement the following style rules:

  1. The navigation menu should be centered (versus right justified).
  2. Each of the project cards should be in its own column (versus the two-column desktop display).
  3. In the “Get In Touch” section, the contact info should be displayed below the contact form (instead of to the right of it).

See the animation shown below:

8. Accessibility Features [5 pts]

  1. Install the WAVE Browser Extension using either Firefox or Chrome, and use it to generate an accessibility report.
  2. Correct all of the accessibility errors by modifying the index.html file.
    • You will need alt text for all images
    • You will need to add aria-label attributes to all form controls. See this article, Approach #2.
    • You will need to “teach” your web browser what language your HTML file is written in (English? Japanese? German?).
  3. Take a screenshot of your final accessibility report (Sarah’s report is shown below) and save it in your hw05 folder.
  4. Answer the following questions in the accessibility-answers.txt file provided:
    • What corrections did you have to make?
    • Do you think your website is usable if you turn off the CSS? Why or why not?
    • Is your site is tabbable? In other words, without the use of the mouse, are all the links and buttons accessible using the tab key?

9. Publish to GitHub [2 pts]

Here is what my homepage looks like after I’ve published it, except for your HW1 will be a completed HW1 (versus the starter files):

Rubric

Please double-check that you have completed all of the tasks before submitting:

  Task Points Description
1. Navigation 2pts see requirements
2. Header 2pts see requirements
3. About Me 1pts see requirements
4. Projects 3pts see requirements
5. Contact 5pts see requirements
6. Footer 1pt see requirements
7. Responsive Design 4pts see requirements
8. Accessibility Features 5pts see requirements
9. Publish to GitHub 2pts see requirements
  Total 20pts  

What to Submit

  1. A link to your homepage on GitHub pages, which should link to your hw05 assignment (and previous tutorials and classwork you have done).
  2. A link to your GitHub code repository (where your code files are stored).