Controlar el número de teclas de un textarea

Algo que hay que tener en cuenta muchas veces cuando trabajamos con formularios es la longitud del texto que introducimos en los textarea, ya que en muchos casos esa información se almacena en la BD y puede que el campo en dónde se guarda tenga un límite de tamaño.

textarea.png

No tengo muy claro según lo que dicta la accesibilidad y la usabilidad, si el ejemplo que muestro es del todo correcto. Lo normal es que si se supera la longitud de texto máximo, no deje introducir ningún carácter más. Pero en este caso simplemente vamos a avisar mediante una barra de progreso cuánto texto hemos introducido y cuánto nos queda. ¿Por qué? pues porque personalmente me ha pasado que muchas veces, al escribir mirando el teclado, ni me fijo en lo que pasa en la pantalla, por lo que me he podido pasar pulsando teclas un buen rato y no fijarme en que no se escribía nada. O también, cuando se hace un copy/paste, el texto puede ser mayor que lo permitido. En ambos casos es mejor tener el texto completo e ir reduciéndolo.

Como creo que quizás pueda serle útil a alguien este ejemplo, el desarrollo va a ser muy sencillo, ya que algunas veces los comentarios que recibimos de scripts antiguos son de gente con poco conocimiento. Luego, quien quiera usar JSON o Ajax (no sé para qué) o lo que quiera, que lo haga.

El procedimiento es sencillo, disponemos de un textarea, con un ancho definido mediante estilos. También existe una capa del mismo ancho que el textarea, y que se situará debajo del textarea. En el textarea se capturará el evento onkeyup, para que cuando se pulse una tecla, podamos ver la longitud del texto y modificar la barra de progreso.

<textarea onkeyup="progreso_tecla(this)" value=""></textarea>
<div id="progreso">(0 / 250)</div>
textarea {
width: 300px;
height: 200px;
}
#progreso {
background: url(textarea.png) no-repeat;
background-position: -300px 0px;
width: 300px;
height: 14px;
text-align: center;
color: #000000;
font-size: 8pt;
font-family: Arial;
text-transform: uppercase;
}

La barra de progreso funciona de la siguiente manera, el fondo es una imagen con el progreso, inicialmente estará desplazada a la izquierda el tamaño de la barra. Por ejemplo, si la barra tiene un ancho de 300px, la posición izquierda del fondo será -300px. Cuando se pulse una tecla, se recalculará la posición izquierda, según la longitud del texto. Si la longitud supera el máximo, el fondo no será la imagen, sino de color rojo para avisar del error.

var max=250;
var ancho=300;
function progreso_tecla(obj) {
var progreso = document.getElementById("progreso");
if (obj.value.length < max) {
progreso.style.backgroundColor = "#FFFFFF";
progreso.style.backgroundImage = "url(textarea.png)";
progreso.style.color = "#000000";
var pos = ancho-parseInt((ancho*parseInt(obj.value.length))/250);
progreso.style.backgroundPosition = "-"+pos+"px 0px";
} else {
progreso.style.backgroundColor = "#CC0000";
progreso.style.backgroundImage = "url()";
progreso.style.color = "#FFFFFF";
}
progreso.innerHTML = "("+obj.value.length+" / "+max+")";
}

Ejemplo

WYMeditor: editor XHTML/CSS

WYMeditor es un editor WYSIWYM basado en web. La característica principal de este navegador es centrar la atención del usuario en la estructura de la página (layout).
wymeditor.png
WYMeditor ha sido creado para generar código XHTML estricto perfectamente estructurado, según las especificaciones XHTML de la W3C. El código no puede ser contamidano por información visual como estilos de fuentes, tamaños, bordes o colores. El usuario define el significado del contenido, por el cual será determinado su aspecto mediante la hoja de estilos. El resultado es fácil y rápido de mantener.
WYMeditor
Vía / SitePoint Blogs

Criticas a la guía de accesibilidad de la W3C

Si estos días hemos estado hablando de accesibilidad según la W3C, hoy nos toca de hablar de las críticas que se han realizado desde un grupo llamado WCAG Samurai, un grupo de desarrolladores liderados por Joe Clark.

Las críticas siempre nos pueden ayudar a mejorar y esperemos que al menos tomen en cuenta estos puntos para la revisión final de la WCAG 2.0.

Las críticas están agrupadas según los diferentes puntos de la WCAG 2.0:

  • Proporciona alternativas equivalentes para los sonidos y los vídeos.
  • No dependas del color únicamente.
  • Usa las etiquetas y los estilos correctamente.
  • Usa el lenguaje natural de forma clara.
  • No uses tablas para layouts.
  • Cuidado con el uso de las nuevas tecnologías.
  • Cuidado con los contenidos que cambian con el tiempo (parpadeos, …).
  • Diseña con independencia del dispositivo.
  • Usa soluciones intermedias.
  • Usa las guías y las tecnologías de la W3C.
  • Ofrece información orientativa y del contexto.

WCAG Samurai Errata for Web Content Accessibility Guidelines (WCAG) 1.0

links for 2007-06-14

Comprobar si un puerto está abierto con PHP

Algo que nos puede ser muy útil cuando estamos haciendo aplicaciones distribuidas, es saber si el puerto de una máquina está abierto. Otro ejemplo es que si queremos incluir contenido de otro sitio en nuestra página y no queremos que nos devuelva una página de error no personalizado, podemos hacer lo mismo, comprobar si está el puerto 80 abierto:

<?php
// Dominio a comprobar
$sitio = "www.dominio.com";
// Puerto a comprobar, el web es el 80
$puerto = 80;
$fp = fsockopen($sitio,$puerto,$errno,$errstr,10);
if(!$fp)
{
echo "No ha sido posible la conexión";
// El modo de tratamiento del error puede ser el que se quiera, por ejemplo enviar un email.
}else{
echo "Conexión realizada con éxito.";
fclose($fp);
}
?>

PHP port check

Recursos RSS

Los RSS es una de las formas más cómodas para ver el contenido actualizado de una web.

Os pasamos una lista de recursos resumida, que podéis ampliar en la entrada original.

Lectores para Windows

  • Omea: uno de los mejores lectores de RSS que existen, gratuito en su versión básica y con características avanzadas en su versión comercial.
  • Mozilla Thunderbird: a parte de lector de correo, también lo es de RSS, admite add-ons y pieles.
  • Awasu: lector con interfaz configurable, se puede sincronizar a otros lectores.

Lectores para OS X

  • Newsfire: lector para feeds y podcasting
  • NetNewsWire : dispone de dos versiones: comercial y gratuita.
  • PixelNews : lector de pago que dispone de una gran base de datos de feeds.

Lectores para Linux

  • Liferea: para Gnome.
  • Akregator: para KDE.
  • Straw: para Gnome, soporta RSS y AROM, como posibilidad de exportar/importar OPML.

Lectores multiplataforma

  • RSSOwl: ofrece múltiples características como multipanel, OPML, importación de blogroll, motor de búsqueda.
  • BottomFeeder : para Linux, Windows y OS X, soporta CSS, plugins y exportarción/importación OPML.
  • BlogBridge: lector open source que permite crear nuestras listas de feeds.

Lectores basados en web

  • Google Reader: para mí el mejor, permite compartir posts, marcarlos como importantes y posibilidad de leer offline.
  • Netvibes: permite personalizar cientos de módules y añadir a página desde Hotmail o Flickr.
  • Bloglines : uno de los primeros en salir, al dividir la pantalla hace más sencilla su visión.

Lectores para móviles

  • NewsGator Go!: versión para móviles de NewsGator, sincroniza con la cuenta del usuario.
  • LiteFeeds: permite leer tus feeds, enviar artículos por email.
  • Egress : para Windows Mobile, posee una interfaz limpia que permite una lectura clara.

Convertidores a email

  • Feedblitz: uno de los más famosos, soportado por FeedBurner, dispone de un plugin para Firefox.
  • ZapTXT: vigila los feeds en busca de ciertos términos y nos envía una notificación por email.
  • R|Mail: nos ofrece suscripción vía email para cualquier feed.

Validadores

Plugins para Firefox

  • Sage: uno de los más populares, ofrece muchas opciones y personalización por CSS.
  • Wizz:
  • gran cantidad de opciones para este lector para Firefox.
  • RSS Ticker: muy similar a los anteriores.

Plugins para WordPress

  • Feedlist : permite enlazar una lista de feeds importados.
  • Feedsmith: redirecciona todos tus feeds a FeedBurner.
  • Fedafi RSS plugin: crea feeds RSS 2.0 de tu blog añadiéndole estilos y haciendo un seguimiento de suscriptores y post visitados.

Otros plugins

Administradores

  • Feedburner: permite que tus feeds se accedan por ellos, ofrece un número elevado de opciones, análisis, optimización.
  • WebPasties: un conjunto de herramientas para tus feeds.
  • FeedPass: muestra una página con el contenido de tus feeds.

Mezcladores

  • Yahoo! Pipes : mezclador avanzado con interfaz de usuario gráfico.
  • Feedbite: mezcla de lector y mezclador de feeds.
  • Feedblendr: muy sencillo y no necesita registrarse.

Herramientas ping

  • Pingoat: ofrece unos 50 servicios en los que puedes hacer ping.
  • Ping-o-matic: envía una url y se hará ping a unos 20 sitios.
  • Blog Flux: 30 sitios en los que puedes hacer ping, incluidos algunos específicos para diferentes idiomas.

Directorios

  • Syndic8: uno de los directorios más grandes.
  • Technorati: índice de blogs basado en etiquetas y autoridad.
  • Feedster: organiza los feeds dentro de canales.

Trucos

The Ultimate RSS Toolbox – 120+ RSS Resources

Vía / Digg

links for 2007-06-13

Recursos para plantillas

A la hora de realizar un proyecto, debido a costes y a tiempos, puede llegar a ser rentable externalizar el diseño, ya sea comprándolo ya hecho o mandándoselo a hacer a otros.

La solución de comprar puede aportarnos algunas ventajas, como por ejemplo que es más barato que pagar a un diseñador o a una empresa que lo haga. El inconveniente es que podemos ver el diseño de nuestra página en otros lugares, pero bueno, habiendo tantas webs como existen hoy en día, eso es difícil.

En algunos casos, incluso la compra no es necesaria, ya que existen lugares dónde las ofrecen gratuitas. He aquí una lista de recursos y páginas dedicada a las plantillas:

Pago

Gratuitas

Pago y gratuitas

Great template resources and sites

Vía / dzone

Safari 3 beta: ahora para Windows

safari1.pngBuena noticia nos hemos llevado hoy, Safari lanza nueva versión (aun en beta) y funciona para Windows. Los desarrolladores web que trabajen en Windows tendrán más facilidades de poder comprobar si sus páginas están bien diseñadas sin necesidad de usar servicios que devuelvan capturas de tus páginas vistas en Safari, o tener instalado Mac OS X en una máquina virtual.

La gente de Apple nos dan 12 motivos que harán que nos pasemos a Safari:

  • Mejor rendimiento: es dos veces más rápido, el navegador más rápido en cualquier plataforma.
  • Interfaz elegante: hace que te centres en el contenido, no en el navegador.
  • Favoritos sencillos: organiza tus favoritos como harías con tu música en iTunes.
  • Bloqueo de popups
  • Búsquedas de textos: busca textos en cualquier página con el banner de búsqueda integrado.
  • Pestañas
  • SnapBack: permite volver a la página de resultados o al nivel superior de una página web.
  • Autocompletado de formularios
  • Gestor de RSS: te avisa cuando un nuevo contenido es añadido a tu sitio web favorito.
  • Campos de texto redimensionables.
  • Privacidad
  • Seguridad

Desgraciadamente, como en otros lugares, yo he encontrado otro fallo (lástima, tengo ganas de usarlo). En este caso, a mí me falla cuando intento indicar el proxy. Y la opción de proxy en las preferencias está desactivado. Bueno, está en beta, habrá que tener paciencia.

safari2.png

Safari 3