YubaC / HTML-Tabs-Frame

A multi-tab switcher within an accessible webpage.

Home Page:https://yubac.github.io/HTML-Tabs-Frame/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HTML Tabs Frame

Under Construction

简体中文

A web page tab switcher with accessibility.

Preview(We suggest Google Chrome): Github Pages

Introduce

HTML Tabs Frame is a web page tab switcher with accessibility. It allows you to create multiple tabs in a web page, each of which can contain any content, including images, videos, audios, tables, forms, etc.

The intent of this project is to provide an accessible in-page multi-tab switcher for desktop applications such as QT, as QT's QWebEngineView does not support accessibility very well, so it can only be implemented via the web. However, this project can be used in any other scenario where an accessible in-page multi-tab switcher is needed.

HTML Tabs Frame can create a multi-tab switcher in a web page, allowing users to switch between different tabs within the web page without leaving the current web page.

We provide two types of tabs:

  1. inner: internal tab, whose content is inside the web page, that is, its content is in the HTML code of the web page;
  2. iframe: external tab, whose content is outside the web page, that is, its content is outside the HTML code of the web page.

Usage

Use index.html to start.

Project Structure

```
├── index.html
├── assets
│   ├── css // the folder of stylesheets, where the file names match the HTML file names.
│   │   ├── high-contrast.css // high contrast mode style, currently used for newTab.html night mode.
│   │   ├── tabnav.css // stylesheet for the tab navigation bar.
│   │   ├── tabnav-night.css // stylesheet for the night mode of the tab navigation bar.
│   │   ├── theme.css // theme style, responsible for loading the light theme.
│   │   ├── theme-night.css // theme style, responsible for loading the night theme.
│   │   └── ...
│   │
│   ├── data // the folder of data files that store page information and settings.
│   │   ├── pages.json // page information, which will be loaded when the page is loaded.
│   │   └── settings.json // settings, which will be loaded when the page is loaded.
│   │
│   ├── images // the folder of image files.
│   │   └── ...
│   │
│   ├── js // the folder of scripts, where the file names match the HTML file names.
│   │   ├── accessibility.js // accessibility script, also responsible for keyboard shortcuts.
│   │   ├── autoload.js // responsible for loading all other files.
│   │   ├── cookies.js // responsible for reading and writing cookies.
│   │   ├── languages.js // responsible for loading language packs.
│   │   ├── load-settings.js // responsible for loading settings and resources.
│   │   ├── nav.js // script for the tab navigation bar.
│   │   ├── reload-settings.js // Reload the settings item when changing settings or adding new content div or iframe in the settings page.
│   │   ├── theme.js // script for loading themes (light/night).
│   │   └── ...
│   │
│   ├── lang // the folder of language pack files.
│   │   ├── languages.json // stores global language pack information.
│   │   └── ...
│   │
│   ├── lib // the folder of some library files.
│   │
│   ├── scss // the folder of SCSS files, where the file names match the HTML file names. These files will be compiled into CSS files, and can be deleted if not used.
│   │
│   └── ...
│
├── LICENSE // license
├── LICENSE_CN // license
├── index.html // homepage
├── newTab.html // new tab page
└── README.md // documentation

```

License

We follow the Anti-996 License to open source this project.

Anti-996 License

About

A multi-tab switcher within an accessible webpage.

https://yubac.github.io/HTML-Tabs-Frame/

License:Other


Languages

Language:SCSS 29.5%Language:Less 24.4%Language:JavaScript 23.9%Language:CSS 17.1%Language:HTML 4.8%Language:Python 0.3%