Life Under The Water

Yugeeth Damsuka, student 04

profile page

Technical Description

HTML Structure:

Uses the <!DOCTYPE html> declaration to ensure proper document rendering.

<head> contains meta tags for character encoding (UTF-8) and viewport settings for mobile responsiveness.

The <title> element defines the page title as "User Profile - Life Under the Water".

A <link> element connects to an external CSS file (style.css).

Inline <style> elements define specific styling for headers and navigation.

The <body> consists of a header, navigation, user profile, goals, skills, availability, contact form, and footer.

Navigation (<nav>)

A semantic <nav> element provides structured navigation for users.

The aria-label="Main Navigation" improves screen reader accessibility.

Unordered lists (<ul>) ensure a structured format for navigation items.

User Profile Section

Uses a <div> container with the profile-header class for a structured layout.

An <img> tag is used to display the profile picture with alternative text (alt="Profile").

Profile details are contained within <div class="profile-info">, including name, role, and location.

Skills Section

Uses progress bars (.progress-bar-fill) to visually represent skill levels.

CSS animations (transition: width 0.3s;) ensure smooth progression effects.

Goals & Experience

Uses unordered lists (<ul>) to list goals and experiences in a structured manner.

Ensures a clean and readable layout with adequate spacing.

UN Goals Support

Displays the United Nations’ Sustainable Development Goals (SDGs) using a grid layout.

Hover effects (.un-goal:hover) enhance user interaction.

Availability Calendar

A semantic <table> with headers (<th>) and properly structured rows (<tr>).

Uses CSS styling (.available { color: #059669; }) to indicate availability status.

Contact Form

Uses semantic <form> and <label> elements to improve accessibility.

<input> and <textarea> fields are included for user interaction.

The submit button includes a text and emoji (✉ Send Message) for better readability and engagement.

Footer Section

Contains a copyright statement and additional links (Privacy Policy, Page Editor).

Uses an unordered list (<ul>) for structured footer navigation.

Accessibility

Semantic HTML

The use of <header>, <nav>, <section>, <table>, and <footer> improves page structure for screen readers.

Alternative Text for Images

The profile image includes alt="Profile" to provide a description for visually impaired users.

Navigation with aria-label

The aria-label="Main Navigation" improves screen reader experience by indicating the purpose of the navigation bar.

High Contrast & Readability

The color contrast between text (#111827) and background ensures legibility.

White text (rgb(242, 237, 237)) on a blue background (#1d83c3) provides strong contrast.

Keyboard Navigation

The website is navigable using only the keyboard due to proper HTML structure.

The form fields, buttons, and links are naturally focusable (tabindex is not required explicitly).

Form Labels for Inputs

Each form field has an associated <label>, ensuring better usability with assistive technologies.

Scalable & Responsive

The use of grid-template-columns and @media (min-width: 768px) ensures the layout adapts to different screen sizes.

Link to the validation page

Include a link to the validation page, use the marker to jump to the corresponding section of the validation page.

Link to the page

Include a link to the actual page you describe.

profile Page

Technical Description

HTML Structure:
The page uses a semantic structure with a <header>, <nav>, <main>, and <footer>. This is good for SEO and accessibility.
The header contains a navigation bar with links, allowing easy navigation between pages.
The <main> section focuses on the content of the website’s sitemap, and each link in the sitemap is presented with an organized and structured layout.

CSS Styling:
Global Styles:
The universal selector * is used to remove default margins and paddings, ensuring consistent spacing across elements.
The box-sizing: border-box; rule ensures that padding and borders are included in an element's total width and height.
Background Styling:
The background image is applied to the body with background-image, background-size, and background-position properties. However, the value <justify> for background-position is incorrect. You likely meant to use something like center or a specific pixel/percentage value to define the position of the background image.
Container and Flex Layout:
The .container class ensures that the main content is centered and maintains a max width of 1024px.
Flexbox is used for aligning elements horizontally and vertically, which ensures that the layout is responsive and adaptable to various screen sizes.
Link and Hover Effects:
The .node-content class applies a background color, padding, and border-radius for the visual appearance of the links. The :hover effect changes the background color of the links, which improves interactivity.
Vertical Line:
The .vertical-line class adds a simple vertical line between parent and child nodes to represent the structure of the sitemap visually.

Responsiveness:
The layout utilizes Flexbox to manage the alignment and spacing of elements. However, there isn’t any specific media query to adjust the layout for smaller screens, which might make the page look cluttered on mobile devices. It’s recommended to include media queries to adapt the layout for different screen sizes (e.g., collapsing the sitemap links into a vertical list on smaller screens).

Footer:
The footer is styled with a margin at the top and uses the text-align: center; property to center the content. It also contains a list of links, but the footer’s font size is large (2rem), which may be too prominent. Consider reducing the font size for the footer text.

Potential Improvements:
Correct the invalid CSS property <justify> for the background-position.
Add a :focus style to improve accessibility for keyboard navigation.
Ensure proper contrast ratios for text and background colors.
Add a media query to improve the layout on smaller screens.

Accessibility

Language Specification:
The html tag has a lang="en" attribute, which helps screen readers and search engines understand the primary language of the page. This is good for accessibility.

Navigation:
You have used the <nav> element to wrap the navigation links, which is great for screen readers as it clearly indicates the navigation section of the page.
The aria-label="Main Navigation" attribute on the <nav> element helps users with screen readers to identify the purpose of the navigation links.

Headings:
The page uses an <h1> for the title "Website Sitemap," which is semantically correct and useful for screen readers. However, the page also contains another <h1> inside the header (Life Under The Water), which could lead to confusion in a screen reader as to which is the main heading. It’s a good practice to only have one <h1> per page (the main heading) and consider using <h2> or <h3> for secondary headings.

Links:
You have used anchor (<a>) tags for the links. However, the links lack title attributes or clear text to describe their destinations. For example, the "Home" link could be more descriptive like "Go to homepage."
The links in the navigation (<a>) are designed for mouse clicks, but they are also focusable for keyboard users. Consider adding :focus styling for accessibility so users can easily see which link is selected when navigating with the keyboard.

Form Elements (if applicable):
There are no form elements in your code, but if you ever add forms, be sure to label each input field clearly using <label> elements for accessibility.

Color Contrast:
The text colors seem to have sufficient contrast in most places, especially with darker backgrounds and lighter text. However, the hover state for the navigation links uses #2c3e50, which may be a bit low in contrast against the background. You can check the contrast ratios using a contrast checker to ensure they meet WCAG guidelines.

Alternative Text for Images:
You use a background image for the body (background-image: url('sitemap.jpg');) but do not provide an alt attribute or description of the image. While background images don’t require alt text, it’s always helpful to provide meaningful context for users with visual impairments.

Focus Styles:
The code doesn’t include custom focus styles for elements like links or interactive elements. This could be crucial for users who navigate using the keyboard (e.g., by tabbing through elements). Adding :focus styles ensures that users can visually track their position.

.

Link to the validation page

Include a link to the validation page, use the marker to jump to the corresponding section of the validation page.

Link to the page

Include a link to the actual page you describe.

Content Page

Technical Description

Explain the HTML and CSS techniques used to implement this page. Justify the logic and purpose of the key tags and styling choices focusing on functionality and design without copying large code sections. Explain the purpose of key HTML tags and CSS properties. Specify key HTML tags and CSS properties used to create structure and styling.

Accessibility

Explain how you used to addressed accessibility in this particular page you implemented.

Link to the validation page

Include a link to the validation page, use the marker to jump to the corresponding section of the validation page.

Link to the page

Include a link to the actual page you describe.

Challenges and Lessons Learned

1. Responsive Design Issues
Challenge: Ensuring the layout adapts seamlessly to various screen sizes (from mobile phones to desktops) can be tricky. For example, when using flexbox or grid layouts, unexpected overlaps or misalignments can occur on smaller screens.
Solution: Use media queries and test the design across different devices. You can adjust the layout, font sizes, and spacing to fit smaller screens better.

2. Navigation Accessibility
Challenge: Creating a navigation system that works well for both mouse and keyboard users, as well as screen readers, can be difficult. The sticky navigation bar (.content-nav) needs to be properly accessible to ensure that all users can navigate the content.
Solution: Ensure that the navigation menu is focusable and accessible via the keyboard. Adding aria-labels, tabindex, and ensuring that links are properly marked up with meaningful text can improve accessibility.

3. Image Loading and Optimization
Challenge: The large number of images used in the page (for example, in the image containers and impact cards) can result in slow loading times, especially on mobile networks.
Solution: Optimize images by compressing them before uploading. Use responsive image attributes like srcset to load smaller images on mobile devices and larger ones on desktops.

4. Cross-Browser Compatibility
Challenge: Ensuring the page works uniformly across different browsers (Chrome, Firefox, Safari, Edge, etc.) can be difficult. CSS properties like position: sticky may not work as expected on all browsers.
Solution: Test the page in multiple browsers and use browser-specific prefixes or polyfills for certain CSS properties. Additionally, fallbacks like position: fixed can be used where necessary for older browsers.

5. JavaScript Functionality
Challenge: Ensuring smooth and bug-free JavaScript behavior can be a challenge, especially when implementing functions like the "back to top" button or dynamic navigation highlighting.
Solution: Carefully test all JavaScript functions, particularly the event listeners, to ensure they work as expected in all browsers. Debugging tools (like browser developer tools) can be used to troubleshoot issues.

Compliance

1. Web Content Accessibility Guidelines (WCAG)
Compliance:
WCAG 2.1 outlines specific guidelines to make web content more accessible for users with disabilities. Compliance with these guidelines ensures your site is usable for people with visual, auditory, motor, or cognitive impairments.
Ensure that your website meets Level AA conformance at a minimum, which is required by various legal regulations globally (such as Section 508 in the U.S. and EN 301 549 in the EU).
Key Areas of Compliance:
Text Alternatives: All images should have descriptive alt text.
Keyboard Accessibility: Ensure all interactive elements are accessible via keyboard.
Contrast: Ensure sufficient contrast between text and background.
Form Labels: Properly label form elements to make them accessible.
Error Identification: Provide clear and understandable error messages.
Reference:
WCAG 2.1 Guidelines

2. General Data Protection Regulation (GDPR)
Compliance:
If you're collecting any personal data from users (such as through forms or cookies), you need to comply with GDPR if your site targets users in the European Union. This includes providing transparent information about data collection, securing consent, and enabling users to manage their data.
Ensure that all forms that collect data have a privacy policy or terms and conditions link.
Users must be informed and give consent (through checkboxes or pop-ups) before you collect cookies or personal information.
Key Areas of Compliance:
Data Minimization: Only collect the necessary data.
Consent: Obtain explicit consent for data collection.
Cookie Policy: Display a cookie consent banner to inform users.
Right to Access and Delete Data: Allow users to request access to or deletion of their personal data.
Reference:
GDPR Overview

3. The Americans with Disabilities Act (ADA)
Compliance:
ADA compliance requires that public websites be accessible to people with disabilities. This is similar to WCAG and generally overlaps but is more focused on the U.S. legal framework.
ADA mandates that digital platforms be as accessible as physical locations, which can include compliance with WCAG standards.
Key Areas of Compliance:
Visual Accessibility: Make sure content is perceivable for users with visual impairments.
Navigation: Ensure keyboard-only users can fully navigate your site.
Screen Reader Compatibility: Use proper HTML semantics and ARIA (Accessible Rich Internet Applications) attributes to improve accessibility.
Reference:
ADA Compliance

4. Section 508 Compliance (U.S. Federal Government)
Compliance:
Section 508 requires federal agencies to make electronic and information technology accessible to people with disabilities. This includes websites, software, and digital documents. If you're creating websites for government contracts or federal agencies, ensuring compliance with Section 508 is critical.
The standards for Section 508 align with WCAG, but there are specific requirements for government applications, including multimedia content and interactive forms.
Key Areas of Compliance:
Multimedia Content: Ensure videos have captions or transcripts.
Interactive Elements: Forms and interactive content must be navigable and operable for people with disabilities.
Reference:
Section 508 Compliance

5. Mobile Responsiveness Compliance
Compliance:
As more users access websites on mobile devices, making sure your HTML code is responsive is crucial. Mobile responsiveness is not just a design choice but also a legal requirement in some jurisdictions for accessibility.
You should use responsive web design principles (media queries, flexible grids, etc.) to ensure your site adapts to different screen sizes and orientations.
Key Areas of Compliance:
Viewport Settings: Ensure your pages are optimized for mobile devices (use ).
Touch Events: Make interactive elements large enough to be used on mobile devices (buttons, links).
Reference:
Google Mobile-Friendly Test

6. Copyright and Licensing Compliance
Compliance:
When using third-party content (images, fonts, videos, etc.), make sure you have the right to use them. This may involve purchasing licenses or using open-source resources under licenses like Creative Commons.
Avoid using copyrighted material without permission, as this can lead to legal consequences.
Key Areas of Compliance:
Licensing: Ensure any content you use (images, media, etc.) is properly licensed or attributed.
Attribution: If using Creative Commons or open-source content, ensure proper attribution.
Reference:
Creative Commons
Fair Use Guidelines

7. Cookie Consent and Privacy Policy
Compliance:
Many countries require websites to obtain consent from users before storing cookies or tracking their data. You need to inform users about the data collection and provide an option to opt-out or manage cookies.
Make sure your site has an accessible privacy policy explaining how you collect, store, and use user data.
Key Areas of Compliance:
Cookie Consent: Display a banner or pop-up to ask for user consent for cookies.
Privacy Policy: Have a clear, accessible privacy policy linked from the footer of your website.
Reference:
EU Cookie Law Compliance
Cookie Consent

References

Provide links to resources you used following a consistent format (e.g., APA, MLA, or a simplified style). For example:

  • iStock (2025) iStock. Available at: https://www.istockphoto.com/ (Last accessed: 11 Feb 2025).
  • Duckett, J., 2011. HTML and CSS: Design and Build Websites,John Willey&Sons. Inc. Indianappolis.

Go top