Contenido

Usamos.es, informes de usabilidad y accesibilidad gratis

5 Feb

+ 7

Fran de Mas Que Accesibilidad, me avisa de que por fín, despues de un año dandole vueltas al proyecto, Usamos.es ha visto la luz.

usamoses

Usamos.es es una consultoría de accesibilidad y usabilidad que tiene como meta mejorar las páginas web de instituciones y empresas con el fín de mejorar en acceso a estas y ofrecer un camino más sencillo y eficaz para completar acciones en dichas páginas.

Actualmente los informes automáticos son gratuitos pero este no va a ser el único aliciente de esta aplicación, sinó que periódicamente nos van a tener informados de técnicas, documentos y el estado de los temas que más directamente tocan al usuario.

Visita Usamos.es

Divide formularios en pasos con jQuery

28 Ene

+ 10

Revisando los posts del foro, en un rato que he tenido, me he encontrado babySteps, un plugin que hans me muestra y que se encarga de dividir formularios en partes. Un componente ideal para formularios rápidos y complicados.

Revisando el plugin he visto que tu defines los puntos de corte y eso no me acaba de gustar, el tener que poner elementos que no tendrían ningún sentido si no fuera por el plugin no me ha gustado mucho. Así que me montado un pequeño script, que usando jQuery, nos permite obtener lo mismo siguiendo un poco más la semántica del HTML.

stepForm()

Simplemente es una función que se encarga de convertir todos los formularios cuyo atributo class sea stepMe. Únicamente se encarga de cortar el formulario por elementos <fieldset /> haciendo que un formulario largo aparente ser varios de menor tamaño.

Veamos un ejemplo que he montado.

<form action="" method="post" class="stepMe">
	<fieldset>
		<label for="name">Nombre:</label>
		<input name="nombre" id="name" value="" />
		<label for="surname">Apellidos:</label>
		<input name="apellidos" id="surname" value="" />
		<label for="birthday">Fecha de Nacimiento:</label>
		<input name="fnac" id="birthday" value="" />
	</fieldset>
	<fieldset>
		<label for="text1">Text1:</label>
		<select id="text1">
			<option>1</option>
			<option>1</option>
			<option>1</option>
			<option>1</option>
			<option>1</option>
		</select>
		<label for="text2">Text2: </label>
			<input type="radio" id="text2" />
	</fieldset>
	<fieldset>
		<label for="submit">Submitar datos </label>
		<input type="submit" id="submit" value="Enviar" />
	</fieldset>
</form>

Este ejemplo nos divide la página en 3 pasos. Para permitir al usuario moverse entre los pasos he añadido un enlace «Volver» y otro «Seguir«, pero no descarto añadir una pequeña paginación esta noche 😀

Personalización

Podemos definir nuestro propio estilo para los enlaces que se añaden mediante el uso CSS de las clases .nextStep y .backStep.

Además, podemos definir el texto que queremos mostrar en ambos enlaces pasándolo como parámetro. Disponemos de 3 parámetros:

  1. Texto Back. (por defecto Volver)
  2. Texto Next. (por defecto Seguir)
  3. Contenedor. (por defecto fieldset)
$.stepForm();
// Volver / Seguir [fieldset] 

$.stepForm('Back','Next');
// Back / Next [fieldset]

$.stepForm('<-','->', 'p');
// Volver / Seguir [p]

Si somos reacios a usar <fieldset /> podemos pasar como 3er parámetro el tag que vamos a usar como contenedor.

Código

jQuery.extend({
    stepForm: function(txtBack, txtNext, token){
    	var fieldsets = $((token || 'fieldset'), $("form.stepMe"));
        var total = $(fieldsets).length;
	$(fieldsets).each(function(x,el){
			    if (x > 0) {
			      $(el).hide();
			      $(el).append('<a class="backStep" href="#x_' + (x-1) + '">'+ (txtBack || 'Volver') +'</a>');
			      $(".backStep", $(el)).bind("click", function(){
			                $("#x_" + (x - 1)).show();
			                $(el).hide();
			       });
			    }

			    if ((x+1)< total) {
			        $(el).append('<a class="nextStep" href="#_' + (x+1) + '">'+(txtNext || 'Seguir')+'</a>');
			        $(".nextStep", $(el)).bind("click", function(){
			                $("#x_" + (x + 1)).show();
			                $(el).hide();
			        });
			    }
			    $(el).attr("id", "x_" + x);
	});
    }
});

Actualización

Marco Neumann  ha portado el script a MooTools para los usuarios de este framework. La verdad es que la claridad del código no tiene comparación.

Plantilla para hacer análisis heurísticos de usabilidad

1 Dic

+ 0

Daniel Torres Burriel nos pone a nuestro alcanze una plantilla para realizar nuestro propios análisis heurísticos de usabilidad. Un sistema para los que no tenemos los conocimientos necesarios para realizar las evaluaciones de usabilidad de nuestros sitios web. Esto no quiere decir que podamos ser técnicos en usabilidad web simplemente aplicando esta plantilla, pero seguro que nuestras aplicaciones tendrán un aspecto diferente despues de aplicarla.

Growler, notificaciones con Prototype en tus aplicaciones

17 Oct

+ 3

Hace ya unos años, Daniel Mota desarrolló Growl, un script desarrollado sobre MooTools que nos ayudaba a mostrar notificaciones en nuestras aplicaciones de una forma sencilla y elegante. Despues, Alex Sancho lo portó para jQuery y nos ofrecío una puerta para los que desarrollamos con este framework.

Ahora tenemos Growler para los que desarrollan usando Prototype como framework javascript para sus aplicaciones.

growler

Cargado de una amplia lista de parámetros, podemos personalizar nuestras notificaciones y usarlas para alertar a nuestros usuarios de todo lo que ocurra en nuestra aplicación.

SexyAlertBox, muestra alertas con estilo

21 Ago

+ 7

Eduardo de Coders.me, me avisa de que SexyAlertBox ha visto la luz. Un script desarrollado en Javascript, usando MooTools como Framework,  con el que ampliamos las posibilidades que alert() nos ofrece, una herramienta que nos permite mostrar mensajes de una forma más amigable para el usuario y que además podemos personalizar para adaptar a nuestra aplicación.[Demo][Descargar]

Mejora los elementos de tus formularios con CSS/JS

18 Ago

+ 1

Los chicos de Noupe han publicado un artículo recopilatorio con los mejores tutoriales para mejorar estética y funcionalmente los elementos de nuestros formularios:

  1. Styling dropdown select boxes
  2. <select> Something New, Part 1
  3. Styling even more form controls
  4. Check it, don’t select it
  5. DropDown – xHTML/CSS/Javascript replacement of classic selectbox
  6. Masked Input Plugin
  7. Custom Checkbox with jQuery
  8. LiveValidation
  9. FancyForm
  10. Styling disabled text inputs
  11. PrettyCheckboxes
  12. Building a better web forms: Context highlighting using jQuery
  13. Control.SelectMultiple
  14. Justify elements using jQuery and CSS
  15. jQuery Form Input Example Plugin
  16. Jquery-Autotab
  17. jquery-asmselect
  18. jQuery.AddToList
  19. Easy Multi Select Transfer with jQuery
  20. fValidator
  21. Grow a textarea
  22. jQuery selectbox replacement
  23. Unobtrusive Slider Control V2
  24. jQuery Field Plug-in
  25. jquery.combobox
  26. Checkboxes, Radio Buttons, Select Lists, Custom HTML Form Elements
  27. ToggleFormText plug-in example
  28. Password field with strength meter
  29. STYLING FILE INPUTS WITH CSS AND THE DOM
  30. Pin plugin for Prototype, Remember Field’s Values
  31. accessible, javascript-enhanced, css-able form elements for mootools
  32. Resizeable Textboxes
  33. Style yout File inputs
  34. jQuery AlphaNumeric
  35. Mootools Form Hints
  36. MultiSelect
  37. Watermark Input Plugin
  38. Select box manipulation
  39. Spinner Control
  40. Autohelp

Creando notas al pie con jQuery

15 Ago

+ 1

A veces nuestros artículos quedan excesivamente cargados de enlaces y eso, para el usuario, puede suponer un problema. Una forma de ayudar al usuario a comprender mejor la fisonomía de nuestro artículo es usando notas al pie, al igual que en las imágenes las usamos para completar la imagen o ponerle un título, podemos usarlas para especificar nuestros enlaces.

$(document).ready(function() {
    $("#wrap").append("<ol id=\"footnotes\"></ol>");
    footnote = 1;
    $("q[cite],q[title],blockquote[cite],blockquote[title]").addClass("footnote");
    $(".footnote").each(function() {
        $(this).append("<sup>"+footnote+"</sup>");
        cite="<li>";
        url=$(this).attr("cite");
        title=$(this).attr("title");
        if(title && url) {
            cite+="<a href=\""+url+"\">"+title+"</a>";
        } else if(title) {
            cite+=title;
        } else if(url) {
            cite+="<a href=\""+url+"\">"+url+"</a>";
        }
        cite+="</li>";
        $("#footnotes").append(cite);
        footnote++;
    });
});

El script anterior nos añadirá a todos los elementos q y blockquote la clase footnote, posteriormente nos tratará todos los elementos con la clase footnote para añadirles un valor numérico que se relacionará con la nota al pie que vamos a insertar.

Si usamos la marcación correcta de estos elementos el resultado será realmente interesante.

Ejemplo de uso:

// Hacia URL
<q cite="https://www.anieto2k.com/">
 WordPress, desarrollo web y muchas cosas más...
</q>

// Explicativo
<q title="TEXTO EXPLICATIVO">
	BLA BLA BLA
</q>

Via

Consejos para mejorar la usabilidad de tus formularios

18 Jul

+ 4

Los formularios han sido, y son, las llaves para conseguir que la web 2.0 sea una realidad. Por ese motivo hemos de cuidar los detalles para conseguir que su uso sea el más cómodo y rápido posible, teniendo en cuenta los siguientes consejos será más que suficiente para que nuestros usuarios los usen:

  • Añade sugerencias
  • Añade AutoSuggest  (Crealo tu mismo o usa uno ya hecho)
  • Crea validaciones simples en tus inputs
  • Muestra elementos ocultos mediante un radiobutton

Via (Código explicativo en la fuente)

Tablas de contenido (TOC) con verdadero estilo

8 Jul

+ 1

Los chicos de SmashingMagazine, siempre nos dan motivos para escribir un post. Esta vez es debido a la recopilación de «TOC» (Table Of Content — Tabla de Contenidos (o Indice)) de libros, una buena recopilación de ideas para nuestras aplicaciones.

Estas tablas, suelen se un listado de opciones que el usuario puede encontrarse en nuestra aplicación. Desde QuirksMode recuerdo que ví un script desarrollado en Javascript, que nos permitía crear un TOC usando los elementos H de dicha página.

function createTOC() {
	var y = document.createElement('div');
	y.id = 'innertoc';
	var a = y.appendChild(document.createElement('span'));
	a.onclick = showhideTOC;
	a.id = 'contentheader';
	a.innerHTML = 'show page contents';
	var z = y.appendChild(document.createElement('div'));
	z.onclick = showhideTOC;
	var toBeTOCced = getElementsByTagNames('h2,h3,h4,h5');
	if (toBeTOCced.length < 2) return false;

	for (var i=0;i<toBeTOCced.length;i++) {
		var tmp = document.createElement('a');
		tmp.innerHTML = toBeTOCced[i].innerHTML;
		tmp.className = 'page';
		z.appendChild(tmp);
		if (toBeTOCced[i].nodeName == 'H4')
			tmp.className += ' indent';
		if (toBeTOCced[i].nodeName == 'H5')
			tmp.className += ' extraindent';
		var headerId = toBeTOCced[i].id || 'link' + i;
		tmp.href = '#' + headerId;
		toBeTOCced[i].id = headerId;
		if (toBeTOCced[i].nodeName == 'H2') {
			tmp.innerHTML = 'Top';
			tmp.href = '#top';
			toBeTOCced[i].id = 'top';
		}
	}
	return y;
}

var TOCstate = 'none';

function showhideTOC() {
	TOCstate = (TOCstate == 'none') ? 'block' : 'none';
	var newText = (TOCstate == 'none') ? 'show page contents' : 'hide page contents';
	document.getElementById('contentheader').innerHTML = newText;
	document.getElementById('innertoc').lastChild.style.display = TOCstate;
}

Dragtable, una tabla sortable y dragable (y algún palabro más)

27 Jun

+ 8

Dragtable es una vuelta de tuerca más a las tablas sortables (osea que se pueden ordenar mediante Javascript), con esta además, podemos mover las columnas ordenando los resultados a voluntad.[Demo]