MVC is an architectural pattern that separates an application into three main logical components: the model, the view and the controller. Model component correspond to all the data-related logic that the user works with. It also represents the data that is being transferred between the View and Controller components. View component is used for all the UI logic of the application. Controllers are interfaces between Model and View that handle all the business logic and request, modify data using the Model component and collaborate with the Views to generate the final output.
HyperText Markup Language (HTML) is a markup language designed to specify structure and content of a web page. HTML is not a “programming” language. <
!DOCTYPE html> declaration defines this document to be HTML5. <html> element is the root element of an HTML page. <title> element contains meta information about the document. <title> element specifies a title for the document. <body> elements contains the visible page content. HTML 5 use tags to defines the structure and content of a web page. <header> element is used to contain the content that appears at the top of every page of the website, for example, the logo and the tagline. <nav> tags are used to wrap the navigational menu which are commonly placed at the top of a webpage. <section> element is used to identify content that is major sub-section of a large whole. <footer> element appears at the bottom of a section of a document. It contains things like a copyright notice, link to related content, address information about the owner of the website, and links to administrative things like privacy policies and website’s terms of service. HTML elements are used to define the content of a web page. <body> elements contains the visible page content. <h1> element defines a heading. <p> element defines a paragraph.
Accessibility means that people with disabilities can use the Web. Web accessibility means that people with disabilities can perceive, understand, navigate and interact with the Web, and that they can contribute to the Web. To create an accessibility form, each form control should be described by the text labels. Labels should be put adjacent to its respective form control. <label> element is used to connect a text label to a form control so that user can read the associated label text for the respective form control.
Example of using label elements:
<label for = ”name”>Name:</label>
<input id=”name” type=”text” name=”textfield”/>
It is important to match for values with id values associate the label with appropriate form control because id must be unique on each page, only one label can be associated to each unique form element. Besides that, to group the form controls, <fieldset> and <legend> element should be used. <fieldset> identifies the entire grouping and <legend> identifies the grouping’s descriptive text. To create an accessibility table, <caption> element should be used after the <table> tag to indicates the content of the table. A scope attributes is used to identifies whether a table header is a column header or a row header.
Bootstrap is an open-source front end web framework. It is normally used to create dynamic website and web application. Typography, forms, buttons, navigation and other interface components are provided in Bootstrap. Grid system can structure the content of the webpage. Bootstrap support responsive mobile first fluid system which scales up to 12 columns. Rows is used to create horizontal groups of column. Below is the information of grid system supported by Bootstrap three.
“col-md-push-*” will let the left column to be displayed on the right. “col-md-pull-*” will let the right column to be displayed on the left.
In bootstrap, to apply a navigation style to an unordered list, class=”nav” is used. To add additional navigation style, class=”nav-__“ is used. To add default selection style to the list item, class = “active” is used. To make the item not clickable, class=”disabled” are used. The anchor for dropdown menu can be set up by using class=”dropdown”. Class=”dropdown-toggle” and data-toggle=”dropdown” toggle the visibility of the dropdown sub menu. To create a vertical menu list, use class=”dropdown-menu”. To style the <nav> tag, use class=”navbar navbar-default”. To help with accessibility of <nav> tag, use role=”navigation”. 2 div elements can be created in the <nav> tag, which are header and menu. A navigation bar menu can be responsive by collapsing into an icon when viewed in a smaller device by using class=”navbar-toggle” and data-toggle=”collapse”.
Bootstrap style the HTML heading (h1 to h6) into different way:
In boostrap, <small> element is used to create a lighter, secondary text in any heading. Class= “lead” is used to add emphasis to a paragraph with larger font size, light weight and a taller line height. class=”text-__” is used to add emphasis to a paragraph along with strong and em.
We can use bootstrap for form control. Class .form-control-static can display a plain tedt next to a form label within a horizontal form. .has-warning, .has-error, and .has-success iare used to for errors, warnings, and success messages. We can add input focus by applying box shadow when input receives focus. Input can be disabled using disabled attributes. Field set can be disabled by adding disabled attribute to <fieldset> tag. Input-lg or col-lg-* is added to division to control the width and height of the form control. Help text is used to add a full width block of content.
AngularJS is an open-source web application framework. It is mainly used in developing single web application. It providing a framework for client-side model-view-controller (MVC) and model-view-viewmodel (MVVM) architectures for the development and testing of the application.
Modules is a collection of services, directives, controllers, filters, and configuration information. Config controllers, directives, filters, factory are created inside the module.
Controller provides the business logic to manage view behaviour. It provides the model for the view and responds to user interaction. It should not manipulate the DOM directly. It prepares the properties and methods. Properties initializes values to model through $scope while methods inject functions to $scope, and they only executed when called. Controller has a built-in method called $watch. It will be triggered on change when the model value it is watching changes.
In AngularJs, filter can alters appearance of the data but it does not modify the data. The format that filter can alter is Uppercase, LowerCase and currency. Filter can also format the number with decimal places. Filter can be used to format the date, Filter can also be used to filter an array by using filter: searchvar.
Directives are markers on a DOM element that tell AngularJS’s HTML compiler to attach a specified behaviour to that DOM element and to transform the DOM element and its children=n. it is used as a custom and reusable HTML-like elements and attributes starting with ng- or data-ng-. Main directives are ng-app, ng-class and ng-controller. The model – data/variables are ng-init, ng-bind, ng-model and ng-model-options. View- conditional directives are ng-if, ng-show and ng-hide and ng-switch. View-Loop directive is ng-repeat.
ngRoute module routes your application to different pages without reloading the entire application. ngRoute must be added as a dependency in the application module. $routeprovider is used to configure different routes in the application. ng-view is used to put the context provided by the routing. With $route-provider, different page will be display when user click on different link.
AngularJs can be used to validate the form. Novalidate attributes need to be used to disable the HTML 5 validations and controller is used to bind the form data to the user model and implement the submit() function. There are 9 AngularJs input state variable:
1. $untouched if the filed has not been touched.
2. $touched if the field has been touched
3. $pristine if the field has not modified
4. $dirty if the field has been modified
5. $valid if the field content is valid
6. $invalid if field content is not valid
There are 4 AngularJs form state variable:
1. $pristine if form is not modified
2. $dirty if form is modified
3. $valid if all fields contents in the containing forms are valid
4. $invalid if at least field contents in the containing form is invalid
$error is an AngularJS State Object that contains reference to all invalid controls or forms. Directive can also be used to validate the form. We can customize our own validation directive by the following code:
HTMl.com, N,d,. HTML Document Structure, HTML.com, viewed 24 April 2018, <https://html.com/document/>.
W3Schools, N.d., HTML Introduction, W3Schools, viewed 24 April 2018, <https://www.w3schools.com/html/html_intro.asp>.
WebAiM, N.d., Creating Accessibility Table, WebAim, viewed 24 April 2018, <https://webaim.org/techniques/tables/data>.
WebAim, N.d, Creating Accessibility Form – General Form Accessibility, WebAim, viewed 24 April 2018, <https://webaim.org/techniques/forms/>.
WebAim, N.d, Creating Accessibility Form – Accesible Form Controls, WebAim, viewed 24 April 2018, <https://webaim.org/techniques/forms/controls>.
...(download the rest of the essay above)