Interfaces Bidirecionais com o Usuário no WebFacing

O WebFacing oferece o recurso de preservar o suporte bidirecional (ou bi-di) de um aplicativo 5250 quando ele for ativado para a Web.

Os sistemas de computador podem processar texto e elementos da interface com o usuário da esquerda para a direita (como é o caso do Inglês) ou da direita para a esquerda. Os softwares que oferecem suporte ao manuseio destes idiomas são considerados como tendo suporte bi-di.

Já que os aplicativos 5250 existentes geralmente são ativados para bi-di, convertê-los requer algumas etapas especiais para garantir que o processo WebFacing interprete a direção da entrada das telas corretamente.

Considerações sobre Bidirecional

A seguir estão exemplos de coisas que podem ser alteradas da esquerda para a direita ou da direita para a esquerda:
  • exibição de texto bidirecional
  • posição relativa de elementos HTML, incluindo colunas de tabelas
  • ordem do índice de tabulação para o controle do cursor através da interface com o usuário (mudança de foco de um widget para o próximo)
  • progressão do cursor através de um campo
  • posição da barra de scroll ou botões de ajuda com relação ao widget que ele controla

Tecnologias da Web como HTML e XHTML oferecem suporte bi-di com o atributo de direção da base comum dir, que pode ter o valor de ltr (esquerda para direita) ou rtl (direita para esquerda). Este atributo pode ser aplicado a diversas tags diferentes e o efeito dependerá do tipo de widget. Elementos filho herdam do elemento pai. Por exemplo, para configurar a direção da base de todo o documento HTML para direita para esquerda, deve-se aplicar o atributo à tag <html>: <html dir="rtl">.

No DDS, há três palavras-chave que controlam estes tipos de comportamento:
  • DSPRL para reverter a exibição das telas simetricamente de esquerda para a direita para direita para esquerda.
  • CHECK(RLTB) para fazer com que a tabulação de campos vá da direita para a esquerda e de cima para baixo.
  • CHECK(RL) para fazer o cursor ir da direita para a esquerda através de um campo.
A WebFacing Tool aplica um conjunto único de regras para a conversão e ativação de interfaces de usuário bidirecionais. A seguir estão alguns dos princípios fundamentais:
  • A palavra-chave DSPRL, raramente utilizada, não possui suporte e a página HTML do WebFacing HTML sempre possui uma direção de documento da esquerda para a direita.
  • Se a palavra-chave CHECK(RLTB) for especificada, o WebFacing designará valores de índice de tabulação com base em uma grade (ver abaixo).
  • Qualquer campo que tinha a palavra-chave CHECK(RL) especificada nela possui o atributo dir="rtl" designado para o HTML que gerou.

A Grade de Índice de Guias

Widgets tabuláveis (elementos que deveriam ser acessíveis pela tecla Tab como campos e hyperlinks) podem ter um índice de tabulação. A maioria dos navegadores assumem uma ordem do índice de tabulação que passa através de todos os widgets tabuláveis da esquerda para a direita e de cima para baixo.

Nas telas do 5250 nas quais a palavra-chave CHECK(RLTB) é utilizada, o WebFacing designa um índice de tabulação para implementar corretamente a ordem de tabulação da direita para a esquerda na página HTML da esquerda para a direita. Esses índices de tabulação são designados com base na linha e na posição da coluna do DDS. Para deixar espaço para mover os campos para fora de suas posições do DDS restritas a 27 linhas e 132 colunas no máximo, o WebFacing utiliza uma grade que possui 132 linhas e 250 colunas. (O valor máximo do atributo tabindex é 32767).

Grade do índice de tabulação de aplicativos bi-di do WebFacing

É necessário entender esta grade do índice de tabulação nas seguintes circunstâncias:
  • incluindo seus próprios widgets tabuláveis por meio das configurações de Web ou edição direta de arquivos JSP do Web Facing.
  • utilizando CSS-P para mover um widget tabulável o suficiente para alterar sua posição relativa na ordem do índice de tabulação.

No caso de novos widgets tabuláveis incluídos através das Configurações da Web, é possível utilizar para substituir variáveis &{TABINDEX}. Isso calculará a ordem correta do índice de tabulação de seu widget no momento da conversão.

Nota: A página de código Arabic 420 EBCDIC não possui os seguintes caracteres:
{ }
[ ]
Portanto, a variável de substituição do índice de tabulação não possui suporte para membros que utilizam a página de código Arabic 420, tampouco outros constructos Javascript, como matrizes, que necessitam destes caracteres.
Tarefas relacionadas
Configurando a Ordem de Tabulação em Aplicativos Bidirecionais

Feedback