Responsive Fylo landing page using display flex | Animations & Hovers
Design comparison
Solution retrospective
Hello eveybody! 😀 Please write in the comments the errors in my code and how I can improve it. Thanks for the feedbacks in advance! In this challenge I added some features.
- Color animation 🎨
- Login form design (Hovers and Animations) 🤩
- Animated icon design ✨
Community feedback
- @ErayBarslanPosted about 2 years ago
Hey there, design is close to the provided, it's responsive and animations looks cool. Great work with this one! Some suggestions:
- On screens wider than 1440px width, all the content aligns at the left side and the page is no longer responsive. This is due to max-width on the container. You can place the content to the center with the help of
flex
orgrid
:
body{ ... display: flex; justify-content: center; }
Although background will still be limited to
1440px
. So it'll require whole another approach. I suggest using separate containers for each section of your page. Right now entire page has one container that acts like body and when you set amax-width
, it won't support all screens. As an example you can use:<footer> <div class="footer"> ... </div> </footer>
With this setup, you can give
max-width
to<div .footer>
to limit the content, but background still scales with the container footer.- For semantic markup , we should contain the page with landmark elements. For your case you can change
.container
<div> element to<main class="container">
without breaking the design. However convenient approach would be:
<header> ... </header> <main> ... </main> <footer> ... </footer>
- A site needs a
<h1>
per page. You can use it as<h1 class="title">All your files in one secure location, accessible anywhere.</h1>
In general try to limit usage of<div>
where there is a semantic option like headings, <p>, etc. Try to limit div usage for design purposes. - You can wrap
<ul>
inside header with<navigation><ul> ... </ul></navigation>
so the page is more accessible. In general accessibility will result in much better SEO since it helps assistive techs navigate through our page for visually impaired users. It may seem confusing at first on how to use elements for semantic markup but once you get the idea, it becomes natural. Other than these great solution again and happy coding :)
Marked as helpful1@Reyhandilek07Posted about 2 years agoHi, firstly thank your for your feedback. I will search these and will improve my code.
0 - On screens wider than 1440px width, all the content aligns at the left side and the page is no longer responsive. This is due to max-width on the container. You can place the content to the center with the help of
- @PhoenixDev22Posted about 2 years ago
Hi Reyhan Dilek,
HTML
- Use the
<nav >
landmark to wrap the navigation in the header and in the<footer>
.
- When you use the
<nav >
landmark to wrap the footer navigation , you should addaria-label=”secondary “
oraria-label=”footer”
to it . A brief description of the purpose of the navigation, omitting the term "navigation", as the screen reader will read both the role and the contents of the label.
The
nav
element in the header could use anaria-label="primary"
oraria-label=”main”
attribute on it. The reason for this is that, you should add thearia-label
for a nav element if you are using the nav more than once on the page.you can read more in MDN- The logo's alternate text should not be
logo
. You can use the website's name as an alternate text. You may setalt=”Fylo
. If you are going to leave the logo not wrapped by<a>
, it’s better to place it out the<nav>
as it does not navigate the user in anywhere(only an image).
- look up a bit more about how and when to write alternate text on images. Learn the differences between decorative/meaningless images vs important content like
icon-phone, icon-arrow , icon-quotes
andicon-email
.... For decorative images, you set an emptyalt
to it with anaria-hidden=”true”
to remove that element from the accessibility tree. This can improve the experience for assistive technology users by hiding purely decorative images.
- Forms with proper inputs and labels are much easier for people to use. To pair the label and input, one way is an explicit label’s
for
attribute value must match its input’sid
value. Input fields without accompanying labels can lead to accessibility issues for those who rely on screen readers. If a screen reader comes across an input field without a label it will try to find some accompanying text to use as the label. (To hide the label visually but present for assistive technology, you may usesr-only
class ).
Get started
should be a button type=”submit” , to submit the form .
- Profile images like that avatar are valuable content images, not decorative .For the alternate text of the avatar testimonial should not be Avatar. You can use the avatar’s name
alt=" kyle burton"
.
For
.col-1
, you may use like<address> ...
tag to wrap the contact information for the author/owner of a document or an article (email and phone number). By adding semantic tags to your document, you provide additional information about the document, which aids in communication.- Instead of using a generic div to wrap the links
.col-2, .col-3, .col-4
, you put your links within an unordered list structure so that a screen reader will read out how many things are in the list to give visually impaired users the most information possible about the contents of the navigation.
- Never use
<div>
and<span>
alone to wrap a meaningful content. Just keep in mind that you should usually use semantic HTML in place of the div tag unless none of them (the semantic tags) really match the content to group together.
- The social icons need interactive elements around them which is <a> like:
<li><a href=”#” aria-label=”visit our facebook ”> <i class=”fab fa-facebook”></i></a></li>
.
- Links must have discernible text. The social links wrapping the icons must have
aria-label
orsr-only
text indicate where the link will take the user. Your icons are purely decorative, you'll need to manually add an aria-hidden attribute to each of your icons.
Aside these, you did great work. Hopefully this feedback helps.
Marked as helpful0@Reyhandilek07Posted about 2 years agoHello Thank you for your feedback and suggestions. This will help me.
1 - Use the
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord