Sticky Headers is a feature of HTML. When a header row is made "sticky" it will remain visible when the user scrolls down on the page. It is particularly helpful when there are a large number of columns and the user needs to see the column heading when they are down deep in the table.
6/24/2024 - implemented in 8.16 and 8.18 of SWEHBVD.
History
The application of sticky headers became an issue in SWEHBVD when several pages were noted to be needing the sticky feature. Some tables already had sticky headers. Some tables would really benefit from sticky headers but when used on pages with SETSETUP macro the sticky headers rarely work. According to Confluence, sticky headers is the default for tables even without Advanced Tables macro in use.
It became a challenge to use sticky headers when Atlassian confirmed that the sticky feature was not fully implemented and there were several things that could prevent the feature from working on a page. One notable "sticky killer" was the use of tables within user macros.
The problem was scoped out (below) and carefully researched. The result was that only 4 topics really needed sticky headers and 2 of those had, by accident, successfully implemented sticky headers. After some redesign of the pages, it was possible to implement sticky in all 4 pages. The requirements for implementing sticky in the current environment are recorded below.
Scope Of the Issue
Pages with tables that are large and would benefit most from sticky headers:
SWEs - None
Topics
- 7.08 - Maturity of Life Cycle Products at Milestone Reviews - Sticky - tab 1
- 7.09 - Entrance and Exit Criteria - non-sticky - tabs 2 thru 14. each table has only 3 columns and is easy to navigate. This page will not need sticky headers
- 8.16 - SA Products - non-sticky - tab 2 possible candidate
- 8.18 - SA Suggested Metrics - non-sticky - tab 2
- 8.24 - Software Assurance Risk - sticky - tab 1
Possible Topics
- 8.51 - Software Assurance Plan - non-sticky tab 1 possible candidate
- 8.52 - Software Assurance Status Reports - non-sticky tab 1 possible candidate
- 8.54 - Software Requirements Analysis - non-sticky tab 1 possible candidate
- 8.55 - Software Design Analysis - non-sticky tab 1 possible candidate
- 8.56 - Source Code Quality Analysis - non-sticky tab 1 possible candidate
- 8.59 - Audit Reports - non-sticky tab 2 possible candidate
Handling of Individual Pages
7.08 - Maturity of Life Cycle Products at Milestone Reviews
This page has the large table in tab 1. It works with sticky headers. No further action is needed.
8.24 - Software Assurance Risk
This page has the large table in tab 1. It works with sticky headers. No further action is needed.
8.16 - SA Products
This page has a large table in tab 2. Consider moving it to tab 1 to resolve the problem.
Removed tab 2 by moving content into tab 1 and re-arranging tabs. Sticky headers now work in tab 1.
8.18 - SA Suggested Metrics
This page has a large table in tab 2. Consider moving it to tab 1 to resolve the problem.
Removed tab 2 by moving content into tab 1 and re-arranging tabs. Sticky headers still not working in tab 1
- removed Advanced Tables
- re-declared header row as a header row
- Reformatted first column to get rid of nested rows.
- Copied working sticky header from 8.16 page and sticky now works in this page.
- 8.18 - SA Suggested Metrics - Testing Large table in tab 1
Child Pages
- 8.16 - SA Products - Testing Large table in tab 1
- 8.18 - SA Suggested Metrics - Table with no macros
- 8.18 - SA Suggested Metrics - Testing Large table in tab 1
Requirements For Using Sticky Tables
- When implementing a sticky table in a TABSETUP macro, it can only be used in the first tab.
- Advanced Tables macro is not necessary. It has no effect on the sticky feature.
- The header row must be truly a "header" row.
- The best advice for getting the table to work properly is to copy a similar table from one of the pages where it is working. Once you have the copy working in the page, then add / delete columns to get the layout working properly. After that, add the header text and data into the table.
- Test frequently to make sure you have not broken the stickyness of table.