ARIA Control JavaScript Library

This is a library to automatically inject the standard for screen readers mark-up ARIA. ARIA is Accessible Rich Internet Applications which is a way to make websites and applications more accessible to people with disabilities.

This libraries purpose is to automatically inject the necessary tags and commands to the users mark-up, so that it meets the standards as much as possible. There are also commands for the users to inject the methods on to specific parts if the library does not get them automatically. Also the automatic functionality can be turned off if only partly needed.

Download the library on GitHub 

View the examples on CodePen

Here are some helpful links about ARIA to help understand the tags and their values.

 

ARIA Control Library V1 Method Breakdown

Hidden (has auto)

This detects all the elements that are ‘display:none’ and/or ‘visibility:hidden’. It will then add the ARIA ‘aria-hidden’ and give it a role of ‘presentation’. This makes the element hidden from screen readers. There is also a method to make the element un hidden if the state changes.

Hidden Message (has auto)

This method uses the given class in the options to make the element display off the page. This means that the screen reader can see the message and read it out, but sighted users won’t be able to see the message. This is useful if you want to give extra information only to the users using a screen reader.

Notifications

This sets the attributes for ‘aria-atomic’, ‘role’ and ‘aria-live’. These are the attributes best served as a notification.

Alert (has auto)

This is for error messages and other alerts to the user. This will use the notification method above with the settings as ‘aria-atomic: true’, ‘role: alert’ and ‘aria-live: rude’. This can be automatically run with a set class.

Warning (has auto)

This is for warning messages and other none critical alerts to the user. This will use the notification method above with the settings as ‘aria-atomic: true’, ‘role: alert’ and ‘aria-live: assertive’. This can be automatically run with a set class.

Message (has auto)

This is for any message that is not critical like a success message. This will use the notification method above with the settings as ‘aria-atomic: true’, ‘role: alert’ and ‘aria-live: polite’. This can be automatically run with a set class.

Required (has auto)

Any element, usually inputs, that has the attribute ‘required’ on them will have the ARIA tag ‘aria-required’ added to the element. This can also be done manually by passing the class.

Popup (has auto)

With this method you need to set up the popup classes for the control and the popup. It is mainly aimed at the tooltip example, e.g. if you click in a field and then a tooltip shows. The method will give the control the aria tags to show it has a popup and the tooltip the tags to show what controls it. You can also pass the role type, but by default it is ‘tooltip’.

Show and Hide Popup

These are more helper methods to the above. When the popup shows or hides you can call these method to update the elements settings.

Checked Elements (has auto)

Both Checkboxes and Radio buttons will automatically have the check item injected with the ARIA ‘aria-checked’. This marks if the element is checked or not, for which the change event is also added to all of the elements so if it becomes checked or unchecked then it is updated.

Disabled (has auto)

Any disabled element will have the ‘aria-disabled’ tag added to it.

Selected Option (has auto)

This will make all the options in a select element ‘aria-selected: false’ then find the selected option to set it to true. It also adds the event change to detect when the selected has changed and updates them.

Max and Min (has auto)

This will mainly be for inputs with a max or min value. It finds if they have a value then puts them in their relative tags, either ‘aria-valuemin’ or ‘aria-valuemax’.

Navigation (only has auto)

A complex one, but easy to set up. With all the correct settings this can add the tags to show up to screen readers as a navigation. It will also tag the links as menu items and the sub menu as well as being a popup. It uses the hover event to detect when the sub menu is being shown.

Button (has auto)

This will detect the all button types and add its role as ‘button’

 

ARIA Control Library V1 Options Breakdown

autoDetect (default = true)

This determines if to automatically tag the elements or to only allow manual running.

alertClass (default = .acAlert)

Used for the auto detection for Alert Notifications.

warningClass (default = .acWarning)

Used for the auto detection for Warning Notifications.

msgClass (default = .acMsg)

Used for the auto detection for Message Notifications.

popupClass (default = .acTooltip)

The class of the popup or, as the example was, the tooltip.

popupCtrlClass (default = .acTooltipCtrl)

The element that triggers the popup or tooltip to show.

popupType (default = tooltip)

The role of the popup.

hiddenMsgClass (default = .acHiddenMsg)

The class of any hidden messages that don’t show to slighted users.

navClass (default = .acNav)

The navigation containers class.

navParentClass (default = .acSubNav)

The top level links class.

navSubNavClass (default = .acSubMenu)

The sub menu class.

SEO Tips to help you rank in all search engines

Below 10 SEO tips for both programmers and non techy people. Your knowledge doesn’t have to be great to get yourself seen by the top search engines. Most all SEO tips will work in the top search engines as all the search engines want to find you in the same way.

We will start with the non techy SEO tips first, then move on to what the developer can do. Firstly do remember no one can guarantee first page let alone first place. It is all up to the search engines algorithm and how you score on it.

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

Content
This is now the most important one that anyone can do. Search engines look at your content to see how relevant you are to what the user is searching. When you write your copy make sure it makes sense and is reinvent to you. Don’t write your copy for search engines, write it for your company. If you write it perfectly to describe what you can offer then you will get pick up on that. When developers say use keywords, they are the search terms you are trying to get searched on. So if I wanted to get searched on ‘developer’ then I would try to use that in most places, but in context and not over used. You can over do it and search engines could see that you are trying to flood your content with keywords.

Summary
Write good, relevant and in context content for yourself not for search engines, while trying to get as many keywords in as you can with out over doing it.

 

Meta data
This is a more developer thing, but you can make sure it is all in and the correct details are in. The main ones to get in are the Meta Title, Meta Description and Author. There are a few others plus you can get in a favicon. These detail won’t directly increase your ranking, but this information will show on the search results in search engines, and will give the user more information for when they are choosing a site to visit, which in turn will increase visits. If you have a WordPress or content management that allows you to edit these, then it will save you hiring a developer.

Summary
Make sure either you or your developer has all the relavent details in your meta data to display your information better on search engines and in turn improve your visit rate.

 

Social media
A big thing these days is getting on social media and rightfully you should be on there. If you share a post about your site, then that one person shares it with their friends and so on, then you have just reach a few 100 people. The other part to it is that when you are sharing you link then others share it, the link counts as a inbound link. The more inbound links you have going to your website from verified places the better. Although a link from Facebook may not be the most valued link, as so many people link from there, it counts as something, plus it can lead to more people sharing that link in Facebook and out.

Summary
Get on social media and start posting to your relavent users. If it’s for fun then go on twitter or Facebook. If you want to be a full fledged company then go on Facebook and LinkedIn. If you are any one then get on Google+ as that is where Google can get the most information about you and then rank you better.

 

News feeds
The main aim is to get people to your website and sharing your website, so a new feed, blog or keep upto date section on your site is a must. When you write posts, write them for the users reading them. If they are good enough then you will get people regularly coming back to read more posts which is good, and then if they share that post for others to read even better as that means more people coming in. The other reason for this is to keep your site active. If your website is a static website and nothing changes then for all the search engine knows, you have packed up. If they see you are constaintly updating your site and changing then they will come back to crawl your site for content.

Summary
Get a news feeds to interest users to return to your site and share it. Also so your website doesn’t become stagnant and keeps active.

 

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

Link building
Linking building takes time, but is worth it if you get the result. Like the sections above, you want to get your name out there, get it shared and then get more inbound links to your website. As I also said you will get some value from social media inbound links, but you will get better value for your chosen industry if you post on things like forums, get news site to post about you and generally get your link on industry websites. The less the person has to do with you, but is in your industry the better it will be. This is because it means people are linking to you without having to know you. These kind of links would be better value then things like social media and non industry websites.

Summary
Get you link posted by others on industry relavent websites, forums and blogs, as much as possible. If not that then as close to it, by you posting on other forums.

 

Let’s get techy now with some developer tools for SEO.

 

Attributes
Go through all your elements and make sure you have all the SEO friendly attributes in them. For example links should have ‘title’ attributes and images should have ‘alt’ tags. These will give the user and the search engines more information about them elements. Some new attributes as such are the Google Rich Text Snippts. This again won’t directly improve your website ranking, but it will give Google more information and shows more information in the search results. This will then entise the user more to click on your link.

Summary
Make sure your elements are displaying as much information for search engines and users to pick up on your website.

 

Element structure
Same as above it is to display as much information as possible to search engines to search on you. Some of the basic elements you should use are for the title a H1 tag. This then tells the search engine this is the most important title and therefore the title of the page, but don’t have to many. If you over load a page with them, search engines won’t know what is important and it could effect you negatively. The new elements you can use are the HTML5 elements like header, footer and nav. These are great for showing search engines the structure of the website. Research into which elements are industry standards to find out which to use, as with HTML5 you can use anything, but not everything is recognised by search engines.

Summary
Make sure you use the elements to direct the search engines to the right content, like H1 tags. Look at HTML5 elements to give more direction to your websites structure, but make sure they are search engine standard.

 

SEO tools
Use the resources that are at your disposal. There are hundreds tools to tell you errors, ranking and corrections. The best ones are below:

  • Google Analytics – See your websites rankings and who your audience is to better target them.
  • Google Webmaster – This tool can tell you if Google has had any crawling error and more, so you can make sure Google and other search engines are able to crawl you website.
  • W3C – This is like the web developers standards body and can check your HTML, CSS plus RSS feeds to make sure there is no errors.
  • IIS SEO – If your website is on a windows server and running IIS, then you can download this plug in for IIS. It will tell you for any website errors, duplicate content and some SEO advice as well.

 

Optermisation
Search engines want to give the user the best website with the best information. Therefore you need to have a fast website to get a better score with the search engines. Ways to accomplish this is to minify all your CSS and plugins that you won’t need to edit most of the time. Good code, by which I mean only using as much character/elements as needed and also on the server side of code make sure it is not bloated, so make more reusable functions. Another handy tool is Lazy.js, this JQuery plugin will make it so your images don’t load in until they are in view. This way on the first load it is not as heavy and the spreads the loading.

Summary
Make as much of your code smaller and image sizes smaller to speed up your website to get better scored by search engines. Read my previous post about coding to perfection for more detail.

 

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

Readable code
One thing to avoid is having to many images instead of text. It may look better, but search engines don’t know what your image is. The alt tag of an image will tell search engines what the image is, but they won’t see it as important. The best thing is to code as much or all of the images as possible, so search engines have more content to read you on. This will also reduce the loading speed as you have less images to load.

Summary
Make sure you give the search engines as much to search you on as possible, so reduce the amount of images you use.

These tips can improve your website for not just the search engine but also for the users on your website. So get these done as soon as possible.

President Google

I wonder if a company can get so powerful that it can take over a country, then the world? On the darker hand, can a company get so powerful it turns into Skynet? Both I hope are not true, but it does seem there are companies trying to reach these goals and one that is getting there in my eyes is Google. 

Google started as a small search engine company, which was amazing and they still amaze people everyday. I would put them up with Apple as a ruling company, by which I mean that they are a giant company to what people look to. You get companies that have such an impact on the smaller ones by the big company sets the craze and the standard to which the smaller company must follow to stay in the game. These ruling companies are slowly taking over all forms of tech and general living. Google I think is the biggest one though, as they have been buying so many companies and making so many things that they are everywhere and everyone needs them.

If you look at where they are now and want to be, you can see they are in everyone’s daily jobs, play and work. There web of products and services have grow like a chain reaction. See by the product flow below from start to now:

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

Search engine

Google becomes the biggest search engine where people all look for information. There is no comparison due to the power they hold and the information they have gained. Even Bing tried to used there algorithm.

Google SEO

Everyone wants to be in the search engine so you optimise your site in line with Google, but no one cares about the other search engines like Bing and Yahoo. Even though they are big, they just don’t have the trust and information to compete.

Analytics

You then need to know how you site is doing with the new SEO and with google, so everyone adds the Analytics code by them and now Google is in most every website and some apps. This means Google can source information about everything to do with you, your site and your users.

Android

They then want to be everywhere you are and release an OS for phones that gives them extra reach past Apple to get their apps to you and you to give them more information. Apple dropped things like Google Maps, so now with there open source competitor OS they can get these kind of apps and data on more devices then other and Hereford to more consumers.

YouTube

To get more information and get to where the user is at, they purchase the biggest video sharing company where billions of people go daily.

Google+

A tactical move to which Google create Google plus. I don’t think this would be as popular, not that it is that much anyway, if they didn’t put in place that you have to be a Google+ user to comment on a YouTube video. So now you have to be on there to be on YouTube fully, plus you want to be on there so Google can rank you and your site better on the search engine. I found when I search certain things, they show up first or better because Google has access to the Google+.

Self driving car

Now they know where you are and your behaviour, they want to take you to these places and be in your car. This shows how they are spending there wings to get everyone using some part of the company, which can spread to using all of the services. Just think if they build in connectivity with you Android phone, Google Glass or Google watch.

Google Glass

As well as being able to collect data from what you type, where you go and what you do, they also want to get what you see. With the Google Glass they can get even more in depth and personal data. Rumours of them selling data to the government, mean with this item they can see where you are and what you are doing potentially.

Fire alarms

Being in your browser, phone, tablet and your face isn’t enough, they buy out a fire alarm system so they can be in your home.

Google Watch *rumour

It may not be but they are rumoured to be doing a watch like the Gear, so they will be on you wrist. Like everyone though, I think they are just trying to get ahead of Apple before they release there version of a smart watch.

Project Tango *rumour

Project Tango is a rumour that they are going to try create a mini camera that can take so many pictures it can create a 3-D render of your environment. This is pretty cool and could help people like the blind, company tours and mapping, but then Google would know every inch of the world.

All of these plus more show that they have control and a hand in just about every aspect of your daily life. They will soon be the biggest company with the most knowledge of every person living in the world and soon space, which we all know knowledge is power. Though I say all of this, there is no evidence to say they are going to play Dr. evil and take over the world, it is just to say they will have the power.

//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

(adsbygoogle = window.adsbygoogle || []).push({});

One rumour that was trashed was they had a server boat out at sea, so if any country told them to take down some information they didn’t want to, then they could say ‘sorry it’s not in your country so it is not up to you.’. Now that would be power to share information that corrupt governments would not like.

Even if you compare them to other giants like Apple and Windows, they trump them all. Windows has gone down hill since the 90’s due to them being late and rubbish to getting their own PCs and phones out, so Google and Appple trashed them in their markets. This is why Window is sticking with the PC software and phone hardware to keep in the game, which shows they are not really world ruling.

Apple, although seem Iike they could take on the world, they are very precise of what they are making and doing. They don’t just make things for the hell of it or make anything that could be crap. Apple will only send out items if they are perfect and they only do a selection of items, not trying to cover all bases like Googe. 

So as I say, I don’t think Google will invoke their huge power, but you never know and you would never see it coming…