code: function(roles, ariaAttributes) {
  		var getScore = function(role) {
  			var allowedAriaAttributes = aria.allowedAttr(role);
  			return allowedAriaAttributes.reduce(function(score, attribute) {
  				return score + (ariaAttributes.indexOf(attribute) > -1 ? 1 : 0);
  			}, 0);
  		};
  
  		var scored = roles.map(function(role) {
  			return { score: getScore(role), name: role };
  		});
  
  		var sorted = scored.sort(function(scoredRoleA, scoredRoleB) {
  			return scoredRoleB.score - scoredRoleA.score;
  		});
  
  		return sorted.map(function(sortedRole) {
  			return sortedRole.name;
  		});
  	}
docs: /*
  Score a set of roles and aria-attributes by its optimal score
  E.g. [{score: 2, name: button}, {score: 1, name: main}]