For the second project of Freecodecamp responsive web design certificate I built a survey form that used a minimalistic style with a soft blue background.. The focus was on applying Visual Designs with a combination of typography, color theory, graphics, animation, page layout, and to deliver my message. To apply accessibility to include people with visual, auditory, mobility, or cognitive disabilities. Then make a responsive web design that works and looks great on all devices.
I wanted to make a great form that was responsive and worked on all devices. To use both flex and grid for the layout. I used a column for layout for the main content using 1fr for mobile and for tablet and for desktop 1fr 2fr. I also wanted to style form elements and make a custom select to make it visually appealing.
I followed the freecodecamp user story:
- User Story #1: I can see a title with id="title" in H1 sized text.
- User Story #2: I can see a short explanation with id="description" in P sized text.
- User Story #3: I can see a form with id="survey-form".
- User Story #4: Inside the form element, I am required to enter my name in a field with id="name".
- User Story #5: Inside the form element, I am required to enter an email in a field with id="email".
- User Story #6: If I enter an email that is not formatted correctly, I will see an HTML5 validation error.
- User Story #7: Inside the form, I can enter a number in a field with id="number".
- User Story #8: If I enter non-numbers in the number input, I will see an HTML5 validation error.
- User Story #9: If I enter numbers outside the range of the number input, which are defined by the min and max attributes, I will see an HTML5 validation error.
- User Story #10: For the name, email, and number input fields inside the form I can see corresponding labels that describe the purpose of each field with the following ids: id="name-label", id="email-label", and id="number-label".
- User Story #11: For the name, email, and number input fields, I can see placeholder text that gives me a description or instructions for each field.
- User Story #12: Inside the form element, I can select an option from a dropdown that has a corresponding id="dropdown".
- User Story #13: Inside the form element, I can select a field from one or more groups of radio buttons. Each group should be grouped using the name attribute.
- User Story #14: Inside the form element, I can select several fields from a series of checkboxes, each of which must have a value attribute.
- User Story #15: Inside the form element, I am presented with a textarea at the end for additional comments.
- User Story #16: Inside the form element, I am presented with a button with id="submit" to submit all my inputs.
Then decided on the best layout of the content and made a design in figma. Finally I scaffolded the HTML and started to style it then finished with adding SEO