Clase que genera el código HTML de un enlace accesible

En el artículo Enlaces accesibles en ASP.NET vimos los requisitos que un enlace debe tener para ser accesible.

En este artículo vamos a implementar una clase en C# que va a generar el código HTML de un enlace, pasándole los argumentos necesarios.

El siguiente código nos puede resultar interesante por ejemplo si estamos desarrollando una aplicación gestora de contenidos y tenemos que mostrar enlaces de manera accesible en un texto. Podemos suponer el ejemplo de tener un campo de texto que pueda contener código HTML. Si queremos incluir en dicho texto algún enlace, podemos hacer uso de la clase que vamos a ver para generar el código.

Veamos la clase Accesible que implementará el método getHTMLEnlaceAccesible:

using System;

static class Accesible
{
   public static String getHTMLEnlaceAccesible(String url, String texto, String titulo)
   {
      if (titulo != String.Empty)
      {
         return "<a href='" + url + "' title='" + titulo + "'>" + texto + "</a>";
      }
      else
      {
         return "<a href='" + url + "'>" + texto + "</a>";
      }
   }
}

Veamos un ejemplo de llamada al código anterior. Supongamos que tenemos un formulario de Windows con tres campos de texto: txtUrl, txtTexto y txtTitulo en los cuales el usuario introducirá los datos necesarios para generar el enlace. También tendremos una caja de texto llamada txtAccesible donde almacenaremos el código HTML accesible del enlace al pulsar el botón cmdEjemploAccesible.

El código sería el siguiente:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
   public partial class Form1 : Form
   {
      public Form1()
      {
         InitializeComponent();
      }

      private void cmdEjemploAccesible_Click(object sender, EventArgs e)
      {
         txtAccesible.Text = Accesible.getHTMLEnlaceAccesible(txtUrl.Text, txtTexto.Text, txtTitulo.Text);
      }
   }
}

Quizá te interese...