Accesibilidad Web en la Era de la IA: Cómo la Inteligencia Artificial Está Transformando la Inclusión Digital

Imagen
Durante años, hablar de accesibilidad web fue considerado por como un tema secundario dentro del desarrollo digital. Para algunos era una “característica adicional”, para otros un requisito legal que se atendía solo cuando era estrictamente necesario. Sin embargo, esa visión por fin está cambiando. Hoy, en plena era de la inteligencia artificial, la accesibilidad web ha dejado de ser un complemento opcional para convertirse en uno de los pilares fundamentales del diseño y desarrollo de productos digitales modernos. La combinación entre accesibilidad, neurodiversidad e IA está redefiniendo la forma en que concebimos la experiencia de usuario, obligándonos a replantear una pregunta incómoda pero necesaria: ¿Estamos construyendo tecnología verdaderamente para todos? En este artículo de mi blog en esta ocasión exploraremos por qué la accesibilidad web es más relevante que nunca, cómo la inteligencia artificial está revolucionando este campo y qué herramientas ya existen para con struir ...

Como crear y leer un archivo XML en C#

Hola, la primera entrega para este blog consiste en hacer un sencillo programa en C# con el framework 2.0 que nos permita crear un archivo XML para la configuración de nuestro sistema. Este ejemplo servirá para configurar el acceso a la base de datos de nuestro programa, en este archivo colocaremos la dirección IP, etc, hasta el usuario de la BD, ya cada quien según sus requisitos de seguridad sabrá que incluir y que no en el archivo XML, asi que, comenzamos!! Lo primero que tenemos que hacer es abrir el Visual Studio o SharpDevelop como prefieran y crear un proyecto en donde deberán crear un formulario como este: Les recalco que solo es un ejemplo de caracter ilustrativo (por el asunto de la contraseña y el usuario en el archivo XML). Bien, ahora vamos a crear los métodos que nos servirán para crear el archivo XML.
 private bool fCrearArchivoXml(string sArchivo)
{
bool bCreado = false;
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = (" ");
try
{
using (XmlWriter xmlEscribe = XmlWriter.Create(sArchivo, settings))
{
xmlEscribe.WriteStartElement("ArchivoConfiguracion");
xmlEscribe.WriteStartElement("Configuracion");
xmlEscribe.WriteElementString("IP" , txtIpAddress.Text);
xmlEscribe.WriteElementString("USUARIO", txtUser.Text);
xmlEscribe.WriteElementString("CONTRASENA", txtPassword.Text);
xmlEscribe.WriteElementString("BASEDATOS", txtDataBase.Text);
xmlEscribe.WriteEndElement();
xmlEscribe.WriteElementString("FECHA", DateTime.Now.ToString());
xmlEscribe.WriteEndDocument();
bCreado = true;
xmlEscribe.Flush();
}
}
catch (Exception ex)
{
MessageBox.Show("Error al crear el archivo xml fCrearArchivoXml(): " + ex.Message);
}
return bCreado;
}


En este método definimos las etiquetas que formarán nuestro archivo XML. Ahora, para mandar llamar el método anterior debemos de crear el evento click del botón "Crear", dentro de ese evento colocaremos el llamado a la siguiente función:

private void fGuardar()
{
string sRutaParaGuardarDocumento = "";
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "Archivos XML|*.xml|Todos los archivos|*.*";
saveFileDialog1.Title = "Guardar archivo de configuración xml.";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
sRutaParaGuardarDocumento = saveFileDialog1.FileName.ToString();
if(fCrearArchivoXml(sRutaParaGuardarDocumento))
{
MessageBox.Show("Archivo de configuración creado.","Makaveli XCF");
fLimpiarCampos();
txtIpAddress.Focus();
}
}
}
El código anterior se encarga de crear un Save File Dialog para ubicar en que parte queremos guardar el archivo XML cuando lo creamos. Para terminar este sencillo ejemplo solo nos falta validar los campos (que eso no lo explicaré) y la función para abrir y modificar el archivo XML. Para modificar el archivo XML debemos generar el evento en el menu "Archivo" de la ventana de nuestra aplicación, en él, deberemos colocar el llamado a un método nombrado "Abrir", a continuación el código fuente en orden.

void OptLoadClick(object sender, EventArgs e)
{
fAbrir();
}

private void fAbrir()
{
OpenFileDialog dlgNombreArchivo = new OpenFileDialog();
string sRuta = "";
dlgNombreArchivo.Filter = "Archivo de configuración xml|*.xml|Todos los archivos|*.*";
dlgNombreArchivo.Title = "Makaveli XCF.";
try
{
if (dlgNombreArchivo.ShowDialog() == DialogResult.OK)
{
sRuta= dlgNombreArchivo.FileName.ToString();
fObtenerDatosXml(sRuta);
}
}
catch (Exception ex)
{
MessageBox.Show("Error al abrir el archivo de configuración xml." + ex.Message,"Makaveli XCF",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}

private void fObtenerDatosXml(string sRuta)
{
try
{
using (XmlReader reader = XmlReader.Create(sRuta))
{
reader.Read();
reader.ReadStartElement("ArchivoConfiguracion");
reader.ReadStartElement("Configuracion");
reader.ReadStartElement("IP");
txtIpAddress.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadStartElement("USUARIO");
txtUser.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadStartElement("CONTRASENA");
txtPassword.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadStartElement("BASEDATOS");
txtDataBase.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadEndElement();
reader.ReadStartElement("FECHA");
lblPor.Visible=true;
lblCopyrigth.Text = reader.ReadString();
reader.ReadEndElement();
reader.ReadEndElement();
}
}
catch (FileLoadException ex)
{
MessageBox.Show("Error al obtener datos del archivo xml de respaldo: " + ex.Message);
}
}
Aquí tenemos una imágen del archivo XML creado. Listo, con esto concluimos la primera entrega de mi bog, espero que a alguien le sea útil este código, la próxima entrega será algo fácil, validar los caracteres que teclee el usuario en los campos de un formulario en C#.

Es cuánto. 

Comentarios

Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.

Entradas más populares de este blog

Historia y versiones de HTML (HyperText Markup Language)

Todo lo que debes saber sobre el Model-View Controller (MVC) para Aplicaciones Web

Prototipado en Ingeniería de Software: Modelar antes de Construir